配置Java AWS SDK客户端以将数据写入本地S3存储桶(localstack)。

10

以下命令可用于使用localstack配置本地s3存储桶:

aws --endpoint-url=http://localhost:4572 s3 mb s3://mytestbucket

我该如何更改java AWS SDK的配置,以便能够从/写入此存储桶而不是远程AWS S3?我查看了配置文件,但没有找到任何实质性的信息。
2个回答

13

这可以通过AWS S3 SDK中创建客户端时的端点配置来完成。例如:

final AwsClientBuilder.EndpointConfiguration endpoint = new AwsClientBuilder.EndpointConfiguration(s3Endpoint, REGION);
        final AmazonS3 client = AmazonS3ClientBuilder.standard()
            .withEndpointConfiguration(endpoint)
            .build();

端点可以是一个字符串,例如http://localhost:4572(端口号需要与本地 localstack 中 s3 监听的端口相同 - 默认为4572)。

5

谢谢您的回答,上面的URL实际上是有效的,我在文档中找不到这方面的提及。您能否更新答案并提供文档参考,以便所有服务都可以使用,而不仅仅是S3。 - anon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接