带有安全密钥的 AWS GlueClinet [访问密钥、秘密密钥和令牌)Java

时间:2021-04-07 05:43:07

标签: java amazon-web-services aws-sdk aws-glue

我正在尝试借助以下链接从我的本地日食中使用 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 连接,是否也有这样的想法?

0 个答案:

没有答案