in aws-glue-datacatalog-client-common/src/main/java/com/amazonaws/glue/catalog/metastore/AWSGlueClientFactory.java [43:75]
public AWSGlue newClient() throws MetaException {
try {
AWSGlueClientBuilder glueClientBuilder = AWSGlueClientBuilder.standard()
.withCredentials(getAWSCredentialsProvider(conf));
String regionStr = getProperty(AWS_REGION, conf);
String glueEndpoint = getProperty(AWS_GLUE_ENDPOINT, conf);
// ClientBuilder only allows one of EndpointConfiguration or Region to be set
if (StringUtils.isNotBlank(glueEndpoint)) {
logger.info("Setting glue service endpoint to " + glueEndpoint);
glueClientBuilder.setEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(glueEndpoint, null));
} else if (StringUtils.isNotBlank(regionStr)) {
logger.info("Setting region to : " + regionStr);
glueClientBuilder.setRegion(regionStr);
} else {
Region currentRegion = Regions.getCurrentRegion();
if (currentRegion != null) {
logger.info("Using region from ec2 metadata : " + currentRegion.getName());
glueClientBuilder.setRegion(currentRegion.getName());
} else {
logger.info("No region info found, using SDK default region: us-east-1");
}
}
glueClientBuilder.setClientConfiguration(buildClientConfiguration(conf));
return glueClientBuilder.build();
} catch (Exception e) {
String message = "Unable to build AWSGlueClient: " + e;
logger.error(message);
throw new MetaException(message);
}
}