amazon-s3-php-class - 如何更改权限

Joh*_*ohn 3 php amazon-s3

我正在使用它amazon-s3-php-class来帮助我将文件上传到亚马逊的S3.上传文件后,我注意到每个人都可以下载它,如果他们输入网址https://url.com/mybucket/filename.file.

我可以使用AWS控制台手动限制访问,以关闭打开/下载给用户Everyone.

我如何以编程方式执行此操作amazon-s3-php-class?以下代码没有做任何事情:

$s3 = new S3($AZ_KEY_ID, $AZ_KEY_SECRET);
$acp = array("acl"=>array());

$acp["acl"][] = array(
"type" => "Everyone", "uri" => "https://url.com/mybucket/filename.file", "permission" => ""
);

$s3->setAccessControlPolicy("mybucket", "https://url.com/mybucket/filename.file", $acp);
Run Code Online (Sandbox Code Playgroud)

我的代码出了什么问题?

Ama*_*nut 5

使用新的AWS SDK V3更改ACL权限非常简单:

 $s3->putObjectAcl([
                        'Bucket' => 'myBucketName',
                        'Key' => 'myFileName',
                        'ACL' => 'private'
                    ]);
Run Code Online (Sandbox Code Playgroud)

ACL可以是以下值之一'ACL'=>'private | public-read | public-read-write | authenticated-read | aws-exec-read | bucket-owner-read | bucket-owner-full-control',