使用 Amazon S3 儲存貯體政策搭配第 3 適用於 PHP 的 AWS SDK 版 - 適用於 PHP 的 AWS SDK

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Amazon S3 儲存貯體政策搭配第 3 適用於 PHP 的 AWS SDK 版

您可以使用儲存貯體政策將許可授予 Amazon S3 資源。如需進一步了解,請參閱使用儲存貯體政策和使用者政策

下列範例將說明:

您可以在 GitHub 上 適用於 PHP 的 AWS SDK 取得 的所有範例程式碼。 GitHub

登入資料

在執行範例程式碼之前,請先設定您的 AWS 登入資料,如中所述AWS 使用第 3 適用於 PHP 的 AWS SDK 版向 驗證。然後匯入 適用於 PHP 的 AWS SDK,如 中所述安裝第 3 適用於 PHP 的 AWS SDK 版

取得、刪除和取代儲存貯體上的政策

匯入

require "vendor/autoload.php"; use Aws\Exception\AwsException; use Aws\S3\S3Client;

範例程式碼

$s3Client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); $bucket = 'my-s3-bucket'; // Get the policy of a specific bucket try { $resp = $s3Client->getBucketPolicy([ 'Bucket' => $bucket ]); echo "Succeed in receiving bucket policy:\n"; echo $resp->get('Policy'); echo "\n"; } catch (AwsException $e) { // Display error message echo $e->getMessage(); echo "\n"; } // Deletes the policy from the bucket try { $resp = $s3Client->deleteBucketPolicy([ 'Bucket' => $bucket ]); echo "Succeed in deleting policy of bucket: " . $bucket . "\n"; } catch (AwsException $e) { // Display error message echo $e->getMessage(); echo "\n"; } // Replaces a policy on the bucket try { $resp = $s3Client->putBucketPolicy([ 'Bucket' => $bucket, 'Policy' => 'foo policy', ]); echo "Succeed in put a policy on bucket: " . $bucket . "\n"; } catch (AwsException $e) { // Display error message echo $e->getMessage(); echo "\n"; }