我在S3帳戶通過Web瀏覽器設置S3鬥政策在AWS網站中設置S3存儲桶策略時,我是否應該在我的Java代碼中再次執行該代碼,該代碼將在Ec2實例中運行?
https://i.stack.imgur.com/sppyr.png
我的問題是,當我在當地的筆記本電腦上運行我的web應用程序的Java代碼,它上傳圖像S3。
final AmazonS3 s3 = new AmazonS3Client(
new AWSStaticCredentialsProvider(new BasicAWSCredentials("accessKey*",
"secretKey")));
s3.setRegion(Region.US_West.toAWSRegion());
s3.setEndpoint("s3-us-west-1.amazonaws.com");
versionId = s3.putObject(new PutObjectRequest("bucketName", name, convFile)).getVersionId();
但是當我部署我的web應用程序彈性魔豆,但沒有成功上傳圖片到S3對象。 所以我應該以編程方式在我的Java代碼中再次編寫S3存儲桶策略?
PS:其他詳細信息,可能是有用的:Why am I able to upload to AWS S3 from my localhost, but not from my AWS Elastic BeanStalk instance?
感謝您的回答。我現在正在閱讀這些文檔。我有點觸動這篇文檔。這個文檔中提到的關鍵是什麼S3Object s3object = s3Client.getObject( new GetObjectRequest(bucketName,key)); http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-roles.html –
你可以在這裏閱讀關於鍵:http://docs.aws.amazon。 COM/AmazonS3 /最新的/ dev/UsingMetadata.html#對象鍵。 – jarmod
好的,退後一秒, 「相反,你的......正在運行。」 - 1)因此,無論是在筆記本電腦上運行webapp還是在AWS Ec2中運行webapp,我們都應該「使用默認的憑證提供程序鏈(推薦)」。 2)我創建了一個角色並創建了訪問策略並將其分配給我的Ec2實例。現在我感到我應該使用哪些方法a)DefaultAWSCredentialsProviderChain b)InstanceProfileCredentialsProvider 3)角色沒有accessKey&secKey? 4)如何在我的筆記本電腦之間使用AWS憑證並在Ec2中運行時保持一致? 請幫忙。 –