public static String getSecret()

in spanner-data-validator-java/src/main/java/com/google/migration/Helpers.java [358:381]


  public static String getSecret(String projectId, String secretId, String versionId) {
    try (SecretManagerServiceClient client = SecretManagerServiceClient.create()) {
      SecretVersionName secretVersionName = SecretVersionName.of(projectId, secretId, versionId);
      // Access the secret version.
      AccessSecretVersionResponse response = client.accessSecretVersion(secretVersionName);

      byte[] data = response.getPayload().getData().toByteArray();
      Checksum checksum = new CRC32C();
      checksum.update(data, 0, data.length);
      if (response.getPayload().getDataCrc32C() != checksum.getValue()) {
        LOG.error("Data corruption detected while fetching secret");
        return null;
      }

      String payload = response.getPayload().getData().toStringUtf8();
      return payload;
    } // try
    catch (IOException e) {
      LOG.info("Error while attempting to get secret value");
      LOG.error(e.toString());
      LOG.error(e.getStackTrace().toString());
      throw new RuntimeException(e);
    } // try/catch
  }