我正在尝试从用 Java 编写的 AWS Lambda 函数列出 S3 存储桶上的键。在本地运行代码可以正常运行(使用硬编码凭据)。
在 Lambda 中运行相同的 Java 代码时,它会挂起listObjects
AmazonS3 s3client = new AmazonS3Client(new BasicAWSCredentials("XXXXXXXXXXXx",
"XXXXXXXXXXZZZZZZZZZZz"));
ListObjectsRequest listObjectsRequest = new ListObjectsRequest()
.withBucketName(bucketName)
.withMaxKeys(10);
ObjectListing objectListing;
do {
objectListing = s3client.listObjects(listObjectsRequest);
硬编码的用户凭证和 Lambda 执行角色都具有对 s3 的完全访问权限。
为什么 S3 访问挂起没有错误?什么权限配置错了?
在 Lambda 中使用 NodeJS 运行类似的东西是可行的