RDS(Mysql)で利用可能なログファイルを一覧表示するために使用している次のコードを参照してください
AWSCredentials credentials = new BasicAWSCredentials("XXX", "XXX");
AWSCredentialsProvider provider = new StaticCredentialsProvider(credentials);
AmazonRDS rdsClient = AmazonRDSClientBuilder.standard()
.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration("XXXX.us-west-2.rds.amazonaws.com:3306", "us-west-2"))
.withCredentials(provider)
.build();
DescribeDBLogFilesRequest request = new DescribeDBLogFilesRequest();
DescribeDBLogFilesResult response = rdsClient.describeDBLogFiles(request);
List<DescribeDBLogFilesDetails> listOfFiles = response.getDescribeDBLogFiles();
System.out.println(listOfFiles.toString());
System.out.println("Program done");
これが私のpom.xmlの依存関係です:
<!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-rds -->
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-rds</artifactId>
<version>1.11.101</version>
</dependency>
上記のコードを使用すると、例外が発生します。
エラーはここにあります:
.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration("XXXX.us-west-2.rds.amazonaws.com:3306", "us-west-2"))
SDKを使用して実際のRDSインスタンスに接続しようとしていますが、これは正しいアプローチではありません。RDSクエリAPIエンドポイントに接続する必要があります。これらのリクエストは、サービスを介して送信されます。
.withRegion()
エンドポイントはリージョン内のすべてのRDSインスタンスで同じであり、デフォルトのリージョナルURLはSDKにコード化されているため、を使用するだけで、実際にエンドポイントURLを指定する必要はありません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加