我正在尝试借助以下链接从我的本地日食中使用 Aws 凭据访问 GlueClient。 https://docs.aws.amazon.com/code-samples/latest/catalog/code-catalog-javav2-example_code-glue.html
这里是代码。 Maven 依赖
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>bom</artifactId>
<version>2.16.29</version>
<type>pom</type>
</dependency>
</dependencies>
带有 AwsBasicCredentails 的 GlueClient 代码
Region region = Region.US_EAST_1;
AwsBasicCredentials awscred = AwsBasicCredentials.create("", "");//removed actual keys
GlueClient glueClient = GlueClient.builder().credentialsProvider(StaticCredentialsProvider.create(awscred))
.region(region)
.build();
在我们提出任何进一步的请求之前,上面的代码工作正常。获取数据库如下
try {
GetDatabasesRequest databasesRequest = GetDatabasesRequest.builder()
.maxResults(10)
.build();
GetDatabasesResponse response = glueClient.getDatabases(databasesRequest);//This line throw timeout exception
List<Database> databases = response.databaseList();
for (Database database: databases) {
System.out.println("The Database name is : "+database.name());
}
} catch (GlueException e) {
System.err.println(e.awsErrorDetails().errorMessage());
}
执行上述代码后,连接到 VPN 时出现超时异常。 enter image description here
注意:在同一个 Eclipse 中,我能够按照以下代码获得 S3 的连接。
AWSCredentials credentials = new BasicSessionCredentials("","", "");//removed actual keys
AmazonS3 s3client = AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(credentials)).withRegion(clientRegion).build();
S3Object object = s3client.getObject(new GetObjectRequest(bucketName, functionIdentityTablePath));
对于 AWS GlueClient 连接,是否也有这样的想法?