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
}