【问题标题】:JAVA -AWS ACCESS S3 BUCKET FROM JAVA APPLICATION ON ELASTIC BEANSTALKJAVA -AWS ACCESS S3 存储桶从 JAVA 应用程序在 EASTIC BEANTALK 上
【发布时间】:2020-09-02 05:22:17
【问题描述】:

我想将文件从我的 Java Spring 应用程序上传到 S3 存储桶。

在 ./aws/credentials 中配置凭据后,这对我在 localhost 上有效。

但是,我尝试了 Elastic Beanstalk 但无法正常工作。我收到消息“权限被拒绝”。

我配置 aws-elasticbeanstalk-ec2-role 以授予对 AmazonS3FullAccess 的访问权限,并从 Elastic Beanstalk 应用程序的 Sowtware 配置中配置环境属性。

我的初始化 AmazonClient 的代码:

this.s3client = AmazonS3ClientBuilder.standard().withForceGlobalBucketAccessEnabled(true) .build();

aws-elasticbeanstalk-ec2-角色配置:

View here

我是不是跳过了什么?

【问题讨论】:

  • 您不必为 java sdk 指定凭据提供程序吗?例如,配置文件、角色、环境变量?也许您使用了不正确的提供商?
  • @Marcin 我指定了“并从 Elastic Beanstalk 应用程序的 Sowtware 配置中配置环境属性。”。我是不是做错了什么?
  • 对 Java sdk 不是很熟悉,但请记住 ppl 在使用错误提供程序时会遇到问题。不知道它是否适用于这里,只是为您考虑。

标签: java amazon-web-services spring-boot amazon-s3 amazon-elastic-beanstalk


【解决方案1】:

您是否检查了 ec2 上的安全组?因为您可能知道 ElasticBeanstalk 也会创建 EC2 实例。也许您阻止了出站流量?

【讨论】:

  • 所有流量都设置了出站规则。
【解决方案2】:

您似乎没有在 Elastic Beanstalk 上设置环境变量并正确设置服务客户端。阅读此 AWS 教程。它向您展示了如何从 Spring Boot 应用程序与 Amazon S3 进行交互。

Creating an example AWS photo analyzer application using the AWS SDK for Java

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-27
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    • 2020-03-17
    • 1970-01-01
    • 1970-01-01
    • 2017-09-24
    相关资源
    最近更新 更多