簡體   English   中英

如何通過 aws Java SDK 公開 S3 object?

[英]How do you make an S3 object public via the aws Java SDK?

如何通過 AWS Java SDK 公開 S3 object?

具體來說,通過 Java AWS SDK 可以使用哪些 API 方法使上傳的 Z497031794414A55543 公開?

亞馬遜 AWS 論壇中找到了答案。

return s3Client.putObject(
   new PutObjectRequest(bucketName, objectKey, inputStream, metadata)
      .withCannedAcl(CannedAccessControlList.PublicRead));

答案是

.withCannedAcl(CannedAccessControlList.PublicRead)

另一種方法可以更精細地控制允許查看 object 的人員(僅限所有用戶或經過身份驗證的用戶):

    PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, keyName, image);
    AccessControlList acl = new AccessControlList();
    acl.grantPermission(GroupGrantee.AllUsers, Permission.Read); //all users or authenticated
    putObjectRequest.setAccessControlList(acl);
    s3client.putObject(putObjectRequest);
s3client.setObjectAcl("bucketName[/subDirectory]", fileName, CannedAccessControlList.PublicRead);
URL url = s3client.getUrl("bucketName[/subDirectory]", fileName);
String sharableLink = url.toExternalForm();

資源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM