【发布时间】:2017-12-12 18:47:07
【问题描述】:
我使用 Java AWS SDK 创建了一个 lambda 函数来从 s3 存储桶中读取 csv 文件。我已经公开了存储桶,并且可以从任何浏览器轻松访问它和文件。
为了测试它,我使用了 lambda 控制台上的测试按钮。我只是在使用 hello world 测试配置输入模板。
它失败了:
错误信息:指定的存储桶无效。 (服务:Amazon S3;状态代码:400;错误代码:InvalidBucketName;请求 ID:XXXXXXXXXXXXXXX)
Lambda 函数和 s3 存储桶位于同一区域 (us-east-1)。
我已将 AmazonS3FullAccess 添加到 lambda_basic_execution 角色。
AmazonS3 s3Client = AmazonS3ClientBuilder.standard().build();
也试过
AmazonS3 s3Client = AmazonS3ClientBuilder.defaultClient();
然后调用
S3Object s3object = s3Client.getObject(new GetObjectRequest(
bucketName, keyName));
bucketName 是:
https://s3.amazonaws.com/<allAlphaLowerCaseBucketName>
键名是:
<allAlphaLowerCaseKeyName>.csv
感谢任何帮助。
【问题讨论】:
标签: amazon-s3 aws-lambda aws-sdk