我想将文件从我的Java Spring应用程序上传到S3存储桶。
在 ./aws/credentials 中配置凭据后,这在本地主机上对我有用。
但是,我尝试了Elastic Beanstalk,但没有工作。我收到消息"权限被拒绝"。
我配置 aws-elasticbeanstalk-ec2-role 以授予对 AmazonS3FullAccess 的访问权限,并从 Elastic Beanstalk 应用程序上的 Sowtware 配置配置环境属性。
我初始化亚马逊客户端的代码:
this.s3client = AmazonS3ClientBuilder.standard().withForceGlobalBucketAccessEnabled(true)
.build();
aws-elasticbeanstalk-ec2-role 配置:
在这里查看
我跳过了什么吗?
您是否检查了 ec2 上的安全组?因为您可能知道ElasticBeanstalk也会创建EC2实例。也许您阻止了出站流量?
看起来您没有在 Elastic Beanstalk 上设置环境变量并正确设置服务客户端。阅读此 AWS 教程。它向您展示了如何从 Spring Boot 应用程序与 Amazon S3 进行交互。
使用适用于 Java 的 AWS 开发工具包创建示例 AWS 照片分析器应用程序