AWS、Spring Bootアプリケーションが自動設定されています。エンドポイントをセットアップして、Amazon S3の特定のバケットから特定のファイルをダウンロードします。 AWSコンソールを使用して、自分のコンピュータからJPEGファイルをバケットにアップロードしました。今では、Spring Boot APIを使用してそのファイルをダウンロードしようとしています。SpringブートAmazon AWS S3バケットファイルダウンロード - アクセスが拒否されました
私は次のエラーを取得しています:com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied;
私は、AWSコンソールに(ユーザーがグループ内にある)ユーザとグループを作成しました。ユーザー/グループには、S3および管理者アクセスに対するフルアクセス権が与えられます。私はアクセスキーと秘密鍵のペアをダウンロードし、テスト目的のために文字通り以下のようにキーを私のapplication.propertiesファイルに貼り付けました(明らかにキーはここには表示されません)。
なぜ私はまだアクセスが拒否されているのか混乱しています。私はこれをしばらく探し求めていました。私はSpring Boot特有のこの問題に対する解決策を見つけることができません。どんな助けでも大歓迎です。
application.properties:
cloud.aws.credentials.accessKey=myaccesskey
cloud.aws.credentials.secretKey=mysecretkey
cloud.aws.credentials.instanceProfile=false
cloud.aws.stack.auto=false
cloud.aws.region.auto=true
cloud.aws.region.static=myregion
SimpleResourceLoadingBean.java:
@RestController
public class SimpleResourceLoadingBean {
private static Logger log = LoggerFactory.getLogger(HealthMonitorApplication.class);
@Autowired
private ResourceLoader resourceLoader;
@RequestMapping("/getresource")
public String resourceLoadingMethod() throws IOException {
log.info("IN RESOURCE LOADER");
Resource resource = this.resourceLoader.getResource("s3://s3.amazonaws.com/mybucket/myfile.ext");
InputStream inputStream = resource.getInputStream();
return inputStream.toString();
}
}
のpom.xml(質問に関連しているだけで依存関係)
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-aws</artifactId>
<version>1.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-aws-autoconfigure</artifactId>
<version>1.1.0.RELEASE</version>
</dependency>
trueに変更して動作するかどうかを確認します。 – error2007s
試行錯誤:1 – corecase
上記のSpringアプリケーションは、ローカルまたはEC2インスタンスにありますか? – error2007s