本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 的 Amazon S3 控制範例 AWS CLI
下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 Amazon S3 Control 來執行動作和實作常見案例。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會示範如何呼叫個別服務函數,但您可以在其相關案例中查看內容中的動作。
每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。
主題
動作
下列程式碼範例示範如何使用 create-access-point
。
- AWS CLI
-
建立存取點
下列
create-access-point
範例會為帳戶 123456789012business-records
中的儲存貯體建立名為finance-ap
的存取點。在執行此範例之前,請將存取點名稱、儲存貯體名稱和帳戶號碼取代為適用於您的使用案例的值。aws s3control create-access-point \ --account-id
123456789012
\ --bucketbusiness-records
\ --namefinance-ap
此命令不會產生輸出。
如需詳細資訊,請參閱 Amazon Simple Storage Service 開發人員指南 中的建立存取點。
-
如需API詳細資訊,請參閱 命令參考 CreateAccessPoint
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 create-job
。
- AWS CLI
-
建立 Amazon S3 批次操作任務
下列
create-job
範例會建立 Amazon S3 批次操作任務,將物件標記為confidential` in the bucket ``employee-records
。aws s3control create-job \ --account-id
123456789012
\ --operation '{"S3PutObjectTagging": { "TagSet": [{"Key":"confidential", "Value":"true"}] }}
' \ --report '{"Bucket":"arn:aws:s3:::employee-records-logs","Prefix":"batch-op-create-job", "Format":"Report_CSV_20180820","Enabled":true,"ReportScope":"AllTasks"}
' \ --manifest '{"Spec":{"Format":"S3BatchOperations_CSV_20180820","Fields":["Bucket","Key"]},"Location":{"ObjectArn":"arn:aws:s3:::employee-records-logs/inv-report/7a6a9be4-072c-407e-85a2-ec3e982f773e.csv","ETag":"69f52a4e9f797e987155d9c8f5880897"}}
' \ --priority42
\ --role-arnarn:aws:iam::123456789012:role/S3BatchJobRole
輸出:
{ "JobId": "93735294-df46-44d5-8638-6356f335324e" }
-
如需API詳細資訊,請參閱 命令參考 CreateJob
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 delete-access-point-policy
。
- AWS CLI
-
刪除存取點政策
下列
delete-access-point-policy
範例會從帳戶 123456789012finance-ap
中名為 的存取點刪除存取點政策。在執行此範例之前,請將存取點名稱和帳戶號碼取代為適用於您的使用案例的值。aws s3control delete-access-point-policy \ --account-id
123456789012
\ --namefinance-ap
此命令不會產生輸出。
如需詳細資訊,請參閱Amazon Simple Storage Service 開發人員指南中的使用 Amazon S3 存取點管理資料存取。
-
如需API詳細資訊,請參閱 命令參考 DeleteAccessPointPolicy
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 delete-access-point
。
- AWS CLI
-
刪除存取點
下列
delete-access-point
範例會刪除帳戶 123456789012finance-ap
中名為 的存取點。在執行此範例之前,請將存取點名稱和帳戶號碼取代為適用於您的使用案例的值。aws s3control delete-access-point \ --account-id
123456789012
\ --namefinance-ap
此命令不會產生輸出。
如需詳細資訊,請參閱Amazon Simple Storage Service 開發人員指南中的使用 Amazon S3 存取點管理資料存取。
-
如需API詳細資訊,請參閱 命令參考 DeleteAccessPoint
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 delete-public-access-block
。
- AWS CLI
-
刪除帳戶的封鎖公有存取設定
下列
delete-public-access-block
範例會刪除指定帳戶的封鎖公開存取設定。aws s3control delete-public-access-block \ --account-id
123456789012
此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 DeletePublicAccessBlock
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 describe-job
。
- AWS CLI
-
描述 Amazon S3 批次操作任務
以下
describe-job
提供指定批次操作任務的組態參數和狀態。aws s3control describe-job \ --account-id
123456789012
\ --job-id93735294-df46-44d5-8638-6356f335324e
輸出:
{ "Job": { "TerminationDate": "2019-10-03T21:49:53.944Z", "JobId": "93735294-df46-44d5-8638-6356f335324e", "FailureReasons": [], "Manifest": { "Spec": { "Fields": [ "Bucket", "Key" ], "Format": "S3BatchOperations_CSV_20180820" }, "Location": { "ETag": "69f52a4e9f797e987155d9c8f5880897", "ObjectArn": "arn:aws:s3:::employee-records-logs/inv-report/7a6a9be4-072c-407e-85a2-ec3e982f773e.csv" } }, "Operation": { "S3PutObjectTagging": { "TagSet": [ { "Value": "true", "Key": "confidential" } ] } }, "RoleArn": "arn:aws:iam::123456789012:role/S3BatchJobRole", "ProgressSummary": { "TotalNumberOfTasks": 8, "NumberOfTasksFailed": 0, "NumberOfTasksSucceeded": 8 }, "Priority": 42, "Report": { "ReportScope": "AllTasks", "Format": "Report_CSV_20180820", "Enabled": true, "Prefix": "batch-op-create-job", "Bucket": "arn:aws:s3:::employee-records-logs" }, "JobArn": "arn:aws:s3:us-west-2:123456789012:job/93735294-df46-44d5-8638-6356f335324e", "CreationTime": "2019-10-03T21:48:48.048Z", "Status": "Complete" } }
-
如需API詳細資訊,請參閱 命令參考 DescribeJob
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-access-point-policy-status
。
- AWS CLI
-
擷取存取點政策狀態
下列
get-access-point-policy-status
範例會擷取帳戶 123456789012finance-ap
中名為 之存取點的存取點政策狀態。存取點政策狀態會指示存取點的政策是否允許公開存取。在執行此範例之前,請將存取點名稱和帳戶號碼取代為適用於您的使用案例的值。aws s3control get-access-point-policy-status \ --account-id
123456789012
\ --namefinance-ap
輸出:
{ "PolicyStatus": { "IsPublic": false } }
如需存取點政策何時被視為公有的詳細資訊,請參閱 Amazon Simple Storage Service 開發人員指南 中的「公有」意義。
-
如需API詳細資訊,請參閱 命令參考 GetAccessPointPolicyStatus
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-access-point-policy
。
- AWS CLI
-
擷取存取點政策
下列
get-access-point-policy
範例會從帳戶 123456789012finance-ap
中名為 的存取點擷取存取點政策。在執行此範例之前,請將存取點名稱和帳戶號碼取代為適用於您的使用案例的值。aws s3control get-access-point-policy \ --account-id
123456789012
\ --namefinance-ap
輸出:
{ "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789012:role/Admin\"},\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:us-west-2:123456789012:accesspoint/finance-ap/object/records/*\"}]}" }
如需詳細資訊,請參閱Amazon Simple Storage Service 開發人員指南中的使用 Amazon S3 存取點管理資料存取。
-
如需API詳細資訊,請參閱 命令參考 GetAccessPointPolicy
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-access-point
。
- AWS CLI
-
擷取存取點組態詳細資訊
下列
get-access-point
範例會擷取帳戶 123456789012finance-ap
中名為 之存取點的組態詳細資訊。在執行此範例之前,請將存取點名稱和帳戶號碼取代為適用於您的使用案例的值。aws s3control get-access-point \ --account-id
123456789012
\ --namefinance-ap
輸出:
{ "Name": "finance-ap", "Bucket": "business-records", "NetworkOrigin": "Internet", "PublicAccessBlockConfiguration": { "BlockPublicAcls": false, "IgnorePublicAcls": false, "BlockPublicPolicy": false, "RestrictPublicBuckets": false }, "CreationDate": "2020-01-01T00:00:00Z" }
如需詳細資訊,請參閱Amazon Simple Storage Service 開發人員指南中的使用 Amazon S3 存取點管理資料存取。
-
如需API詳細資訊,請參閱 命令參考 GetAccessPoint
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-multi-region-access-point-routes
。
- AWS CLI
-
若要查詢目前的多區域存取點路由組態
下列
get-multi-region-access-point-routes
範例會傳回指定多區域存取點的目前路由組態。aws s3control get-multi-region-access-point-routes \ --region
Region
\ --account-id111122223333
\ --mrapMultiRegionAccessPoint_ARN
輸出:
{ "Mrap": "arn:aws:s3::111122223333:accesspoint/0000000000000.mrap", "Routes": [ { "Bucket": "DOC-EXAMPLE-BUCKET-1", "Region": "ap-southeast-2", "TrafficDialPercentage": 100 }, { "Bucket": "DOC-EXAMPLE-BUCKET-2", "Region": "us-west-1", "TrafficDialPercentage": 0 } ] }
-
如需API詳細資訊,請參閱 命令參考 GetMultiRegionAccessPointRoutes
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-public-access-block
。
- AWS CLI
-
列出帳戶的公有區塊存取設定
下列
get-public-access-block
範例顯示指定帳戶的封鎖公有存取設定。aws s3control get-public-access-block \ --account-id
123456789012
輸出:
{ "PublicAccessBlockConfiguration": { "BlockPublicPolicy": true, "RestrictPublicBuckets": true, "IgnorePublicAcls": true, "BlockPublicAcls": true } }
-
如需API詳細資訊,請參閱 命令參考 GetPublicAccessBlock
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 list-access-points
。
- AWS CLI
-
範例 1:擷取帳戶所有存取點的清單
下列
list-access-points
範例顯示連接至帳戶 123456789012 擁有之儲存貯體的所有存取點清單。aws s3control list-access-points \ --account-id
123456789012
輸出:
{ "AccessPointList": [ { "Name": "finance-ap", "NetworkOrigin": "Internet", "Bucket": "business-records" }, { "Name": "managers-ap", "NetworkOrigin": "Internet", "Bucket": "business-records" }, { "Name": "private-network-ap", "NetworkOrigin": "VPC", "VpcConfiguration": { "VpcId": "1a2b3c" }, "Bucket": "business-records" }, { "Name": "customer-ap", "NetworkOrigin": "Internet", "Bucket": "external-docs" }, { "Name": "public-ap", "NetworkOrigin": "Internet", "Bucket": "external-docs" } ] }
範例 2:擷取儲存貯體的所有存取點清單
下列
list-access-points
範例會擷取連接至帳戶 123456789012external-docs
擁有之儲存貯體的所有存取點清單。aws s3control list-access-points \ --account-id
123456789012
\ --bucketexternal-docs
輸出:
{ "AccessPointList": [ { "Name": "customer-ap", "NetworkOrigin": "Internet", "Bucket": "external-docs" }, { "Name": "public-ap", "NetworkOrigin": "Internet", "Bucket": "external-docs" } ] }
如需詳細資訊,請參閱Amazon Simple Storage Service 開發人員指南中的使用 Amazon S3 存取點管理資料存取。
-
如需API詳細資訊,請參閱 命令參考 ListAccessPoints
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 list-jobs
。
- AWS CLI
-
列出帳戶 Amazon S3 批次操作任務
下列
list-jobs
範例列出指定帳戶的所有最近批次操作任務。aws s3control list-jobs \ --account-id
123456789012
輸出:
{ "Jobs": [ { "Operation": "S3PutObjectTagging", "ProgressSummary": { "NumberOfTasksFailed": 0, "NumberOfTasksSucceeded": 8, "TotalNumberOfTasks": 8 }, "CreationTime": "2019-10-03T21:48:48.048Z", "Status": "Complete", "JobId": "93735294-df46-44d5-8638-6356f335324e", "Priority": 42 }, { "Operation": "S3PutObjectTagging", "ProgressSummary": { "NumberOfTasksFailed": 0, "NumberOfTasksSucceeded": 0, "TotalNumberOfTasks": 0 }, "CreationTime": "2019-10-03T21:46:07.084Z", "Status": "Failed", "JobId": "3f3c7619-02d3-4779-97f6-1d98dd313108", "Priority": 42 }, ] }
-
如需API詳細資訊,請參閱 命令參考 ListJobs
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-access-point-policy
。
- AWS CLI
-
設定存取點政策
下列
put-access-point-policy
範例會將存取點的指定存取點政策放置在帳戶 123456789012finance-ap
中。如果存取點finance-ap
已有政策,此命令會將現有政策取代為此命令中指定的政策。在執行此範例之前,請將帳戶號碼、存取點名稱和政策陳述式取代為您的使用案例使用適當的值。aws s3control put-access-point-policy \ --account-id
123456789012
\ --namefinance-ap
\ --policyfile://ap-policy.json
ap-policy.json
的內容:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Alice" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/finance-ap/object/Alice/*" } ] }
此命令不會產生輸出。
如需詳細資訊,請參閱Amazon Simple Storage Service 開發人員指南中的使用 Amazon S3 存取點管理資料存取。
-
如需API詳細資訊,請參閱 命令參考 PutAccessPointPolicy
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-public-access-block
。
- AWS CLI
-
編輯帳戶的封鎖公有存取設定
下列
put-public-access-block
範例會將指定帳戶的所有封鎖公有存取設定切換true
為 。aws s3control put-public-access-block \ --account-id
123456789012
\ --public-access-block-configuration '{"BlockPublicAcls": true, "IgnorePublicAcls": true, "BlockPublicPolicy": true, "RestrictPublicBuckets": true}
'此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 PutPublicAccessBlock
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 submit-multi-region-access-point-routes
。
- AWS CLI
-
更新多區域存取點路由組態
下列
submit-multi-region-access-point-routes
範例會更新多區域存取點DOC-EXAMPLE-BUCKET-2
ap-southeast-2
區域中DOC-EXAMPLE-BUCKET-1
和 的路由狀態。aws s3control submit-multi-region-access-point-routes \ --region
ap-southeast-2
\ --account-id111122223333
\ --mrapMultiRegionAccessPoint_ARN
\ --route-updatesBucket=DOC-EXAMPLE-BUCKET-1,TrafficDialPercentage=100
Bucket=DOC-EXAMPLE-BUCKET-2,TrafficDialPercentage=0
此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 SubmitMultiRegionAccessPointRoutes
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 update-job-priority
。
- AWS CLI
-
更新 Amazon S3 批次操作任務的任務優先順序
下列
update-job-priority
範例會將指定的任務更新為新的優先順序。aws s3control update-job-priority \ --account-id
123456789012
\ --job-id8d9a18fe-c303-4d39-8ccc-860d372da386
\ --priority52
輸出:
{ "JobId": "8d9a18fe-c303-4d39-8ccc-860d372da386", "Priority": 52 }
-
如需API詳細資訊,請參閱 命令參考 UpdateJobPriority
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 update-job-status
。
- AWS CLI
-
更新 Amazon S3 批次操作任務的狀態
下列
update-job-status
範例會取消正在等待核准的指定任務。aws s3control update-job-status \ --account-id
123456789012
\ --job-id8d9a18fe-c303-4d39-8ccc-860d372da386
\ --requested-job-statusCancelled
輸出:
{ "Status": "Cancelled", "JobId": "8d9a18fe-c303-4d39-8ccc-860d372da386" }
下列
update-job-status
範例會確認並執行正在等待核准的指定 。aws s3control update-job-status \ --account-id
123456789012
\ --job-id5782949f-3301-4fb3-be34-8d5bab54dbca
\ --requested-job-statusReady
Output::
{
"Status": "Ready", "JobId":"5782949f-3301-4fb3-be34-8d5bab54dbca"
}
下列
update-job-status
範例會取消正在執行的指定任務。aws s3control update-job-status \ --account-id 123456789012 \ --job-id 5782949f-3301-4fb3-be34-8d5bab54dbca \ --requested-job-status Cancelled Output:: { "Status": "Cancelling", "JobId": "5782949f-3301-4fb3-be34-8d5bab54dbca" }
-
如需API詳細資訊,請參閱 命令參考 UpdateJobStatus
中的 。 AWS CLI
-