文件 AWS 開發套件範例 GitHub 儲存庫中有更多可用的 AWS SDK 範例
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 的 Amazon S3 範例 AWS CLI
下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 Amazon S3 執行動作和實作常見案例。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境中查看內容中的動作。
每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。
主題
動作
以下程式碼範例顯示如何使用 abort-multipart-upload。
- AWS CLI
-
中止指定的分段上傳
下列
abort-multipart-upload命令會中止儲存貯體multipart/01中金鑰 的分段上傳amzn-s3-demo-bucket。aws s3api abort-multipart-upload \ --bucketamzn-s3-demo-bucket\ --keymultipart/01\ --upload-iddfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R此命令所需的上傳 ID 由 輸出,
create-multipart-upload也可以使用 擷取list-multipart-uploads。-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 AbortMultipartUpload
。
-
以下程式碼範例顯示如何使用 complete-multipart-upload。
- AWS CLI
-
下列命令會完成儲存貯體
multipart/01中金鑰 的分段上傳amzn-s3-demo-bucket:aws s3api complete-multipart-upload --multipart-uploadfile://mpustruct--bucketamzn-s3-demo-bucket--key 'multipart/01' --upload-iddfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R此命令所需的上傳 ID 由 輸出,
create-multipart-upload也可以使用 擷取list-multipart-uploads。上述命令中的分段上傳選項採用 JSON 結構,描述應該重新組合為完整檔案的分段上傳部分。在此範例中,
file://字首用於從本機資料夾中名為mpustruct的檔案載入 JSON 結構。mpustruct:
{ "Parts": [ { "ETag": "e868e0f4719e394144ef36531ee6824c", "PartNumber": 1 }, { "ETag": "6bb2b12753d66fe86da4998aa33fffb0", "PartNumber": 2 }, { "ETag": "d0a0112e841abec9c9ec83406f0159c8", "PartNumber": 3 } ] }每次使用
upload-part命令上傳組件時,都會輸出每個組件的 ETag 值,也可以透過呼叫list-parts或計算每個組件的 MD5 檢查總和來擷取。輸出:
{ "ETag": "\"3944a9f7a4faab7f78788ff6210f63f0-3\"", "Bucket": "amzn-s3-demo-bucket", "Location": "https://amzn-s3-demo-bucket.s3.amazonaws.com/multipart%2F01", "Key": "multipart/01" }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 CompleteMultipartUpload
。
-
以下程式碼範例顯示如何使用 copy-object。
- AWS CLI
-
下列命令會將 物件從 複製到
bucket-1bucket-2:aws s3api copy-object --copy-sourcebucket-1/test.txt--keytest.txt--bucketbucket-2輸出:
{ "CopyObjectResult": { "LastModified": "2015-11-10T01:07:25.000Z", "ETag": "\"589c8b79c230a6ecd5a7e1d040a9a030\"" }, "VersionId": "YdnYvTCVDqRRFA.NFJjy36p0hxifMlkA" }-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 CopyObject
。
-
以下程式碼範例顯示如何使用 cp。
- AWS CLI
-
範例 1:將本機檔案複製到 S3
下列
cp命令會將單一檔案複製到指定的儲存貯體和金鑰:aws s3 cptest.txts3://amzn-s3-demo-bucket/test2.txt輸出:
upload: test.txt to s3://amzn-s3-demo-bucket/test2.txt範例 2:將本機檔案複製到具有過期日期的 S3
下列
cp命令會將單一檔案複製到指定的儲存貯體,並在指定的 ISO 8601 時間戳記過期的金鑰:aws s3 cptest.txts3://amzn-s3-demo-bucket/test2.txt\ --expires2014-10-01T20:30:00Z輸出:
upload: test.txt to s3://amzn-s3-demo-bucket/test2.txt範例 3:將檔案從 S3 複製到 S3
下列
cp命令會將單一 s3 物件複製到指定的儲存貯體和金鑰:aws s3 cps3://amzn-s3-demo-bucket/test.txts3://amzn-s3-demo-bucket/test2.txt輸出:
copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket/test2.txt範例 4:將 S3 物件複製到本機檔案
下列
cp命令會將單一物件複製到本機指定的檔案:aws s3 cps3://amzn-s3-demo-bucket/test.txttest2.txt輸出:
download: s3://amzn-s3-demo-bucket/test.txt to test2.txt範例 5:將 S3 物件從一個儲存貯體複製到另一個儲存貯體
下列
cp命令會將單一物件複製到指定的儲存貯體,同時保留其原始名稱:aws s3 cps3://amzn-s3-demo-bucket/test.txts3://amzn-s3-demo-bucket2/輸出:
copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket2/test.txt範例 6:以遞迴方式將 S3 物件複製到本機目錄
使用 參數 傳遞時
--recursive,下列cp命令會遞迴地將所有指定字首和儲存貯體下的物件複製到指定的目錄。在此範例中,儲存貯體amzn-s3-demo-bucket具有物件test1.txt和test2.txt:aws s3 cps3://amzn-s3-demo-bucket.\ --recursive輸出:
download: s3://amzn-s3-demo-bucket/test1.txt to test1.txt download: s3://amzn-s3-demo-bucket/test2.txt to test2.txt範例 7:遞迴複製本機檔案至 S3
使用 參數 傳遞時
--recursive,下列cp命令會遞迴地將指定目錄下的所有檔案複製到指定的儲存貯體和字首,同時使用--exclude參數排除某些檔案。在此範例中, 目錄myDir具有 檔案test1.txt和test2.jpg:aws s3 cpmyDirs3://amzn-s3-demo-bucket/\ --recursive \ --exclude"*.jpg"輸出:
upload: myDir/test1.txt to s3://amzn-s3-demo-bucket/test1.txt範例 8:遞迴地將 S3 物件複製到另一個儲存貯體
使用 參數 傳遞時
--recursive,以下cp命令會遞迴地將指定儲存貯體下的所有物件複製到另一個儲存貯體,同時使用--exclude參數排除某些物件。在此範例中,儲存貯體amzn-s3-demo-bucket具有 物件test1.txt和another/test1.txt:aws s3 cps3://amzn-s3-demo-bucket/s3://amzn-s3-demo-bucket2/\ --recursive \ --exclude"another/*"輸出:
copy: s3://amzn-s3-demo-bucket/test1.txt to s3://amzn-s3-demo-bucket2/test1.txt您可以結合
--exclude和--include選項,只複製符合模式的物件,不包括所有其他物件:aws s3 cps3://amzn-s3-demo-bucket/logs/s3://amzn-s3-demo-bucket2/logs/\ --recursive \ --exclude"*"\ --include"*.log"輸出:
copy: s3://amzn-s3-demo-bucket/logs/test/test.log to s3://amzn-s3-demo-bucket2/logs/test/test.log copy: s3://amzn-s3-demo-bucket/logs/test3.log to s3://amzn-s3-demo-bucket2/logs/test3.log範例 9:複製 S3 物件時設定存取控制清單 (ACL)
將 ACL 設定為 時,下列
cp命令會將單一物件複製到指定的儲存貯體和金鑰public-read-write:aws s3 cps3://amzn-s3-demo-bucket/test.txts3://amzn-s3-demo-bucket/test2.txt\ --aclpublic-read-write輸出:
copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket/test2.txt請注意,如果您使用
--acl選項,請確保任何相關聯的 IAM 政策都包含"s3:PutObjectAcl"動作:aws iam get-user-policy \ --user-namemyuser\ --policy-namemypolicy輸出:
{ "UserName": "myuser", "PolicyName": "mypolicy", "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*" ], "Effect": "Allow", "Sid": "Stmt1234567891234" } ] } }範例 10:授予 S3 物件的許可
下列
cp命令說明使用--grants選項,將讀取存取權授予 URI 識別的所有使用者,以及將完全控制權授予正式 ID 識別的特定使用者:aws s3 cpfile.txts3://amzn-s3-demo-bucket/--grantsread=uri=http://acs.amazonaws.com/groups/global/AllUsersfull=id=79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be輸出:
upload: file.txt to s3://amzn-s3-demo-bucket/file.txt範例 11:將本機檔案串流上傳至 S3
PowerShell 可能會變更 的編碼,或將 CRLF 新增至管道輸入。
下列
cp命令會將本機檔案串流從標準輸入上傳至指定的儲存貯體和金鑰:aws s3 cp-s3://amzn-s3-demo-bucket/stream.txt範例 12:將大於 50GB 的本機檔案串流上傳至 S3
下列
cp命令會將 51GB 本機檔案串流從標準輸入上傳至指定的儲存貯體和金鑰。必須提供--expected-size選項,否則當達到預設部分限制 10,000 時,上傳可能會失敗:aws s3 cp-s3://amzn-s3-demo-bucket/stream.txt--expected-size54760833024範例 13:下載 S3 物件做為本機檔案串流
PowerShell 可能會變更 的編碼,或將 CRLF 新增至管道或重新導向的輸出。
下列
cp命令會在本機將 S3 物件下載為標準輸出的串流。下載為串流目前與--recursive參數不相容:aws s3 cps3://amzn-s3-demo-bucket/stream.txt-範例 14:上傳至 S3 存取點
下列
cp命令會將單一檔案 (mydoc.txt) 上傳至金鑰 () 的存取點 (myaccesspoint)mykey:aws s3 cpmydoc.txts3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey輸出:
upload: mydoc.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey範例 15:從 S3 存取點下載
下列
cp命令會將單一物件 (mykey) 從存取點 (myaccesspoint) 下載至本機檔案 ()mydoc.txt:aws s3 cps3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykeymydoc.txt輸出:
download: s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey to mydoc.txt-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 Cp
。
-
以下程式碼範例顯示如何使用 create-bucket。
- AWS CLI
-
範例 1:建立儲存貯體
下列
create-bucket範例會建立名為 的儲存貯體amzn-s3-demo-bucket:aws s3api create-bucket \ --bucketamzn-s3-demo-bucket\ --regionus-east-1輸出:
{ "Location": "/amzn-s3-demo-bucket" }如需詳細資訊,請參閱《Amazon S3 使用者指南》中的建立儲存貯體。
範例 2:在擁有者強制執行的情況下建立儲存貯體
下列
create-bucket範例會建立名為 的儲存貯體amzn-s3-demo-bucket,該儲存貯體使用 S3 物件擁有權的儲存貯體擁有者強制執行設定。aws s3api create-bucket \ --bucketamzn-s3-demo-bucket\ --regionus-east-1\ --object-ownershipBucketOwnerEnforced輸出:
{ "Location": "/amzn-s3-demo-bucket" }如需詳細資訊,請參閱《Amazon S3 使用者指南》中的控制物件的所有權並停用 ACL。
範例 3:在 ``us-east-1`` 區域之外建立儲存貯體
下列
create-bucket範例會在eu-west-1區域中建立名為 的儲存貯amzn-s3-demo-bucket體。以外的區域us-east-1需要LocationConstraint指定適當的 ,才能在所需區域中建立儲存貯體。aws s3api create-bucket \ --bucketamzn-s3-demo-bucket\ --regioneu-west-1\ --create-bucket-configurationLocationConstraint=eu-west-1輸出:
{ "Location": "http://amzn-s3-demo-bucket.s3.amazonaws.com/" }如需詳細資訊,請參閱《Amazon S3 使用者指南》中的建立儲存貯體。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 CreateBucket
。
-
以下程式碼範例顯示如何使用 create-multipart-upload。
- AWS CLI
-
下列命令會使用
amzn-s3-demo-bucket金鑰 在 儲存貯體中建立分段上傳multipart/01:aws s3api create-multipart-upload --bucketamzn-s3-demo-bucket--key 'multipart/01'輸出:
{ "Bucket": "amzn-s3-demo-bucket", "UploadId": "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R", "Key": "multipart/01" }完成的檔案會在儲存貯
01體 中名為multipart的資料夾中命名amzn-s3-demo-bucket。儲存要與upload-part命令搭配使用的上傳 ID、金鑰和儲存貯體名稱。-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 CreateMultipartUpload
。
-
以下程式碼範例顯示如何使用 delete-bucket-analytics-configuration。
- AWS CLI
-
刪除儲存貯體的分析組態
下列
delete-bucket-analytics-configuration範例會移除指定儲存貯體和 ID 的分析組態。aws s3api delete-bucket-analytics-configuration \ --bucketamzn-s3-demo-bucket\ --id1此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DeleteBucketAnalyticsConfiguration
。
-
以下程式碼範例顯示如何使用 delete-bucket-cors。
- AWS CLI
-
下列命令會從名為 的儲存貯體中刪除跨來源資源共用組態
amzn-s3-demo-bucket:aws s3api delete-bucket-cors --bucketamzn-s3-demo-bucket-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DeleteBucketCors
。
-
以下程式碼範例顯示如何使用 delete-bucket-encryption。
- AWS CLI
-
刪除儲存貯體的伺服器端加密組態
下列
delete-bucket-encryption範例會刪除指定儲存貯體的伺服器端加密組態。aws s3api delete-bucket-encryption \ --bucketamzn-s3-demo-bucket此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DeleteBucketEncryption
。
-
以下程式碼範例顯示如何使用 delete-bucket-intelligent-tiering-configuration。
- AWS CLI
-
移除儲存貯體上的 S3 Intelligent-Tiering 組態
下列
delete-bucket-intelligent-tiering-configuration範例會移除儲存貯體上名為 ExampleConfig 的 S3 Intelligent-Tiering 組態。aws s3api delete-bucket-intelligent-tiering-configuration \ --bucketamzn-s3-demo-bucket\ --idExampleConfig此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon S3 使用者指南》中的使用 S3 Intelligent-Tiering。 Amazon S3
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DeleteBucketIntelligentTieringConfiguration
。
-
以下程式碼範例顯示如何使用 delete-bucket-inventory-configuration。
- AWS CLI
-
刪除儲存貯體的庫存組態
下列
delete-bucket-inventory-configuration範例會刪除具有指定儲存貯1體 ID 的庫存組態。aws s3api delete-bucket-inventory-configuration \ --bucketamzn-s3-demo-bucket\ --id1此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DeleteBucketInventoryConfiguration
。
-
以下程式碼範例顯示如何使用 delete-bucket-lifecycle。
- AWS CLI
-
下列命令會從名為 的儲存貯體中刪除生命週期組態
amzn-s3-demo-bucket:aws s3api delete-bucket-lifecycle --bucketamzn-s3-demo-bucket-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DeleteBucketLifecycle
。
-
以下程式碼範例顯示如何使用 delete-bucket-metrics-configuration。
- AWS CLI
-
刪除儲存貯體的指標組態
下列
delete-bucket-metrics-configuration範例會移除指定儲存貯體和 ID 的指標組態。aws s3api delete-bucket-metrics-configuration \ --bucketamzn-s3-demo-bucket\ --id123此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DeleteBucketMetricsConfiguration
。
-
以下程式碼範例顯示如何使用 delete-bucket-ownership-controls。
- AWS CLI
-
移除儲存貯體的儲存貯體擁有權設定
下列
delete-bucket-ownership-controls範例會移除儲存貯體的儲存貯體擁有權設定。aws s3api delete-bucket-ownership-controls \ --bucketamzn-s3-demo-bucket此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon S3 使用者指南》中的在現有儲存貯體上設定物件擁有權。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DeleteBucketOwnershipControls
。
-
以下程式碼範例顯示如何使用 delete-bucket-policy。
- AWS CLI
-
下列命令會從名為 的儲存貯體中刪除儲存貯體政策
amzn-s3-demo-bucket:aws s3api delete-bucket-policy --bucketamzn-s3-demo-bucket-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DeleteBucketPolicy
。
-
以下程式碼範例顯示如何使用 delete-bucket-replication。
- AWS CLI
-
下列命令會從名為 的儲存貯體中刪除複寫組態
amzn-s3-demo-bucket:aws s3api delete-bucket-replication --bucketamzn-s3-demo-bucket-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DeleteBucketReplication
。
-
以下程式碼範例顯示如何使用 delete-bucket-tagging。
- AWS CLI
-
下列命令會從名為 的儲存貯體中刪除標記組態
amzn-s3-demo-bucket:aws s3api delete-bucket-tagging --bucketamzn-s3-demo-bucket-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DeleteBucketTagging
。
-
以下程式碼範例顯示如何使用 delete-bucket-website。
- AWS CLI
-
下列命令會從名為 的儲存貯體中刪除網站組態
amzn-s3-demo-bucket:aws s3api delete-bucket-website --bucketamzn-s3-demo-bucket-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DeleteBucketWebsite
。
-
以下程式碼範例顯示如何使用 delete-bucket。
- AWS CLI
-
下列命令會刪除名為 的儲存貯體
amzn-s3-demo-bucket:aws s3api delete-bucket --bucketamzn-s3-demo-bucket--regionus-east-1-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DeleteBucket
。
-
以下程式碼範例顯示如何使用 delete-object-tagging。
- AWS CLI
-
刪除物件的標籤集
下列
delete-object-tagging範例會從物件 刪除具有指定金鑰的標籤doc1.rtf。aws s3api delete-object-tagging \ --bucketamzn-s3-demo-bucket\ --keydoc1.rtf此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DeleteObjectTagging
。
-
以下程式碼範例顯示如何使用 delete-object。
- AWS CLI
-
下列命令
test.txt會從名為 的儲存貯體中刪除名為 的物件amzn-s3-demo-bucket:aws s3api delete-object --bucketamzn-s3-demo-bucket--keytest.txt如果已啟用儲存貯體版本控制,輸出將包含刪除標記的版本 ID:
{ "VersionId": "9_gKg5vG56F.TTEUdwkxGpJ3tNDlWlGq", "DeleteMarker": true }如需刪除物件的詳細資訊,請參閱《Amazon S3 開發人員指南》中的刪除物件。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DeleteObject
。
-
以下程式碼範例顯示如何使用 delete-objects。
- AWS CLI
-
下列命令會從名為 的儲存貯體中刪除物件
amzn-s3-demo-bucket:aws s3api delete-objects --bucketamzn-s3-demo-bucket--deletefile://delete.jsondelete.json是目前目錄中的 JSON 文件,指定要刪除的物件:{ "Objects": [ { "Key": "test1.txt" } ], "Quiet": false }輸出:
{ "Deleted": [ { "DeleteMarkerVersionId": "mYAT5Mc6F7aeUL8SS7FAAqUPO1koHwzU", "Key": "test1.txt", "DeleteMarker": true } ] }-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DeleteObjects
。
-
以下程式碼範例顯示如何使用 delete-public-access-block。
- AWS CLI
-
刪除儲存貯體的封鎖公開存取組態
下列
delete-public-access-block範例會移除指定儲存貯體上的封鎖公開存取組態。aws s3api delete-public-access-block \ --bucketamzn-s3-demo-bucket此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DeletePublicAccessBlock
。
-
以下程式碼範例顯示如何使用 get-bucket-accelerate-configuration。
- AWS CLI
-
擷取儲存貯體的加速組態
下列
get-bucket-accelerate-configuration範例會擷取指定儲存貯體的加速組態。aws s3api get-bucket-accelerate-configuration \ --bucketamzn-s3-demo-bucket輸出:
{ "Status": "Enabled" }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketAccelerateConfiguration
。
-
以下程式碼範例顯示如何使用 get-bucket-acl。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的存取控制清單
amzn-s3-demo-bucket:aws s3api get-bucket-acl --bucketamzn-s3-demo-bucket輸出:
{ "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Grants": [ { "Grantee": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Permission": "FULL_CONTROL" } ] }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketAcl
。
-
以下程式碼範例顯示如何使用 get-bucket-analytics-configuration。
- AWS CLI
-
擷取具有特定 ID 之儲存貯體的分析組態
下列
get-bucket-analytics-configuration範例顯示指定儲存貯體和 ID 的分析組態。aws s3api get-bucket-analytics-configuration \ --bucketamzn-s3-demo-bucket\ --id1輸出:
{ "AnalyticsConfiguration": { "StorageClassAnalysis": {}, "Id": "1" } }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketAnalyticsConfiguration
。
-
以下程式碼範例顯示如何使用 get-bucket-cors。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的跨來源資源共用組態
amzn-s3-demo-bucket:aws s3api get-bucket-cors --bucketamzn-s3-demo-bucket輸出:
{ "CORSRules": [ { "AllowedHeaders": [ "*" ], "ExposeHeaders": [ "x-amz-server-side-encryption" ], "AllowedMethods": [ "PUT", "POST", "DELETE" ], "MaxAgeSeconds": 3000, "AllowedOrigins": [ "http://www.example.com" ] }, { "AllowedHeaders": [ "Authorization" ], "MaxAgeSeconds": 3000, "AllowedMethods": [ "GET" ], "AllowedOrigins": [ "*" ] } ] }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketCors
。
-
以下程式碼範例顯示如何使用 get-bucket-encryption。
- AWS CLI
-
擷取儲存貯體的伺服器端加密組態
下列
get-bucket-encryption範例會擷取儲存貯體 的伺服器端加密組態amzn-s3-demo-bucket。aws s3api get-bucket-encryption \ --bucketamzn-s3-demo-bucket輸出:
{ "ServerSideEncryptionConfiguration": { "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256" } } ] } }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketEncryption
。
-
以下程式碼範例顯示如何使用 get-bucket-intelligent-tiering-configuration。
- AWS CLI
-
擷取儲存貯體上的 S3 Intelligent-Tiering 組態
下列
get-bucket-intelligent-tiering-configuration範例會在儲存貯體上擷取名為 ExampleConfig 的 S3 Intelligent-Tiering 組態。aws s3api get-bucket-intelligent-tiering-configuration \ --bucketamzn-s3-demo-bucket\ --idExampleConfig輸出:
{ "IntelligentTieringConfiguration": { "Id": "ExampleConfig2", "Filter": { "Prefix": "images" }, "Status": "Enabled", "Tierings": [ { "Days": 90, "AccessTier": "ARCHIVE_ACCESS" }, { "Days": 180, "AccessTier": "DEEP_ARCHIVE_ACCESS" } ] } }如需詳細資訊,請參閱《Amazon S3 使用者指南》中的使用 S3 Intelligent-Tiering。 Amazon S3
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketIntelligentTieringConfiguration
。
-
以下程式碼範例顯示如何使用 get-bucket-inventory-configuration。
- AWS CLI
-
擷取儲存貯體的庫存組態
下列
get-bucket-inventory-configuration範例會擷取 ID 為 之指定儲存貯體的庫存組態1。aws s3api get-bucket-inventory-configuration \ --bucketamzn-s3-demo-bucket\ --id1輸出:
{ "InventoryConfiguration": { "IsEnabled": true, "Destination": { "S3BucketDestination": { "Format": "ORC", "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket", "AccountId": "123456789012" } }, "IncludedObjectVersions": "Current", "Id": "1", "Schedule": { "Frequency": "Weekly" } } }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketInventoryConfiguration
。
-
以下程式碼範例顯示如何使用 get-bucket-lifecycle-configuration。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的生命週期組態
amzn-s3-demo-bucket:aws s3api get-bucket-lifecycle-configuration --bucketamzn-s3-demo-bucket輸出:
{ "Rules": [ { "ID": "Move rotated logs to Glacier", "Prefix": "rotated/", "Status": "Enabled", "Transitions": [ { "Date": "2015-11-10T00:00:00.000Z", "StorageClass": "GLACIER" } ] }, { "Status": "Enabled", "Prefix": "", "NoncurrentVersionTransitions": [ { "NoncurrentDays": 0, "StorageClass": "GLACIER" } ], "ID": "Move old versions to Glacier" } ] }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketLifecycleConfiguration
。
-
以下程式碼範例顯示如何使用 get-bucket-lifecycle。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的生命週期組態
amzn-s3-demo-bucket:aws s3api get-bucket-lifecycle --bucketamzn-s3-demo-bucket輸出:
{ "Rules": [ { "ID": "Move to Glacier after sixty days (objects in logs/2015/)", "Prefix": "logs/2015/", "Status": "Enabled", "Transition": { "Days": 60, "StorageClass": "GLACIER" } }, { "Expiration": { "Date": "2016-01-01T00:00:00.000Z" }, "ID": "Delete 2014 logs in 2016.", "Prefix": "logs/2014/", "Status": "Enabled" } ] }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketLifecycle
。
-
以下程式碼範例顯示如何使用 get-bucket-location。
- AWS CLI
-
amzn-s3-demo-bucket如果存在限制,以下命令會擷取名為 之儲存貯體的位置限制條件:aws s3api get-bucket-location --bucketamzn-s3-demo-bucket輸出:
{ "LocationConstraint": "us-west-2" }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketLocation
。
-
以下程式碼範例顯示如何使用 get-bucket-logging。
- AWS CLI
-
擷取儲存貯體的記錄狀態
下列
get-bucket-logging範例會擷取指定儲存貯體的記錄狀態。aws s3api get-bucket-logging \ --bucketamzn-s3-demo-bucket輸出:
{ "LoggingEnabled": { "TargetPrefix": "", "TargetBucket": "amzn-s3-demo-bucket-logs" } }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketLogging
。
-
以下程式碼範例顯示如何使用 get-bucket-metrics-configuration。
- AWS CLI
-
擷取具有特定 ID 之儲存貯體的指標組態
下列
get-bucket-metrics-configuration範例顯示指定儲存貯體和 ID 的指標組態。aws s3api get-bucket-metrics-configuration \ --bucketamzn-s3-demo-bucket\ --id123輸出:
{ "MetricsConfiguration": { "Filter": { "Prefix": "logs" }, "Id": "123" } }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketMetricsConfiguration
。
-
以下程式碼範例顯示如何使用 get-bucket-notification-configuration。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的通知組態
amzn-s3-demo-bucket:aws s3api get-bucket-notification-configuration --bucketamzn-s3-demo-bucket輸出:
{ "TopicConfigurations": [ { "Id": "YmQzMmEwM2EjZWVlI0NGItNzVtZjI1MC00ZjgyLWZDBiZWNl", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-notification-topic", "Events": [ "s3:ObjectCreated:*" ] } ] }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketNotificationConfiguration
。
-
以下程式碼範例顯示如何使用 get-bucket-notification。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的通知組態
amzn-s3-demo-bucket:aws s3api get-bucket-notification --bucketamzn-s3-demo-bucket輸出:
{ "TopicConfiguration": { "Topic": "arn:aws:sns:us-west-2:123456789012:my-notification-topic", "Id": "YmQzMmEwM2EjZWVlI0NGItNzVtZjI1MC00ZjgyLWZDBiZWNl", "Event": "s3:ObjectCreated:*", "Events": [ "s3:ObjectCreated:*" ] } }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketNotification
。
-
以下程式碼範例顯示如何使用 get-bucket-ownership-controls。
- AWS CLI
-
擷取儲存貯體的儲存貯體擁有權設定
下列
get-bucket-ownership-controls範例會擷取儲存貯體的儲存貯體擁有權設定。aws s3api get-bucket-ownership-controls \ --bucketamzn-s3-demo-bucket輸出:
{ "OwnershipControls": { "Rules": [ { "ObjectOwnership": "BucketOwnerEnforced" } ] } }如需詳細資訊,請參閱《Amazon S3 使用者指南》中的檢視 S3 儲存貯體的物件擁有權設定。 Amazon S3
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketOwnershipControls
。
-
以下程式碼範例顯示如何使用 get-bucket-policy-status。
- AWS CLI
-
擷取儲存貯體的政策狀態,指出儲存貯體是否為公有
下列
get-bucket-policy-status範例會擷取儲存貯體 的政策狀態amzn-s3-demo-bucket。aws s3api get-bucket-policy-status \ --bucketamzn-s3-demo-bucket輸出:
{ "PolicyStatus": { "IsPublic": false } }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketPolicyStatus
。
-
以下程式碼範例顯示如何使用 get-bucket-policy。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的儲存貯體政策
amzn-s3-demo-bucket:aws s3api get-bucket-policy --bucketamzn-s3-demo-bucket輸出:
{ "Policy": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::amzn-s3-demo-bucket/*\"},{\"Sid\":\"\",\"Effect\":\"Deny\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::amzn-s3-demo-bucket/secret/*\"}]}" }取得並放置儲存貯體policyThe範例示範如何下載 Amazon S3 儲存貯體政策、修改檔案,然後使用
put-bucket-policy套用修改過的儲存貯體政策。若要將儲存貯體政策下載至檔案,您可以執行:aws s3api get-bucket-policy --bucket amzn-s3-demo-bucket --query Policy --output text > policy.json然後,您可以視需要修改
policy.json檔案。最後,您可以執行下列動作,將此修改後的政策套用回 S3 儲存貯體:policy.json檔案。最後,您可以執行下列動作,將此修改後的政策套用回 S3 儲存貯體:檔案。最後,您可以執行下列動作,將此修改後的政策套用回 S3 儲存貯體:
aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketPolicy
。
-
以下程式碼範例顯示如何使用 get-bucket-replication。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的複寫組態
amzn-s3-demo-bucket:aws s3api get-bucket-replication --bucketamzn-s3-demo-bucket輸出:
{ "ReplicationConfiguration": { "Rules": [ { "Status": "Enabled", "Prefix": "", "Destination": { "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket-backup", "StorageClass": "STANDARD" }, "ID": "ZmUwNzE4ZmQ4tMjVhOS00MTlkLOGI4NDkzZTIWJjNTUtYTA1" } ], "Role": "arn:aws:iam::123456789012:role/s3-replication-role" } }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketReplication
。
-
以下程式碼範例顯示如何使用 get-bucket-request-payment。
- AWS CLI
-
擷取儲存貯體的請求付款組態
下列
get-bucket-request-payment範例會擷取請求者支付指定儲存貯體的組態。aws s3api get-bucket-request-payment \ --bucketamzn-s3-demo-bucket輸出:
{ "Payer": "BucketOwner" }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketRequestPayment
。
-
以下程式碼範例顯示如何使用 get-bucket-tagging。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的標記組態
amzn-s3-demo-bucket:aws s3api get-bucket-tagging --bucketamzn-s3-demo-bucket輸出:
{ "TagSet": [ { "Value": "marketing", "Key": "organization" } ] }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketTagging
。
-
以下程式碼範例顯示如何使用 get-bucket-versioning。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的版本控制組態
amzn-s3-demo-bucket:aws s3api get-bucket-versioning --bucketamzn-s3-demo-bucket輸出:
{ "Status": "Enabled" }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketVersioning
。
-
以下程式碼範例顯示如何使用 get-bucket-website。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的靜態網站組態
amzn-s3-demo-bucket:aws s3api get-bucket-website --bucketamzn-s3-demo-bucket輸出:
{ "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetBucketWebsite
。
-
以下程式碼範例顯示如何使用 get-object-acl。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體中物件的存取控制清單
amzn-s3-demo-bucket:aws s3api get-object-acl --bucketamzn-s3-demo-bucket--keyindex.html輸出:
{ "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Grants": [ { "Grantee": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "URI": "http://acs.amazonaws.com/groups/global/AllUsers" }, "Permission": "READ" } ] }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetObjectAcl
。
-
以下程式碼範例顯示如何使用 get-object-attributes。
- AWS CLI
-
從物件擷取中繼資料而不傳回物件本身
下列
get-object-attributes範例會從物件 擷取中繼資料doc1.rtf。aws s3api get-object-attributes \ --bucketamzn-s3-demo-bucket\ --keydoc1.rtf\ --object-attributes"StorageClass""ETag""ObjectSize"輸出:
{ "LastModified": "2022-03-15T19:37:31+00:00", "VersionId": "IuCPjXTDzHNfldAuitVBIKJpF2p1fg4P", "ETag": "b662d79adeb7c8d787ea7eafb9ef6207", "StorageClass": "STANDARD", "ObjectSize": 405 }如需詳細資訊,請參閱《Amazon S3 API 參考》中的 GetObjectAttributes。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetObjectAttributes
。
-
以下程式碼範例顯示如何使用 get-object-legal-hold。
- AWS CLI
-
擷取物件的法務保存狀態
下列
get-object-legal-hold範例會擷取指定物件的法務保存狀態。aws s3api get-object-legal-hold \ --bucketamzn-s3-demo-bucket-with-object-lock\ --keydoc1.rtf輸出:
{ "LegalHold": { "Status": "ON" } }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetObjectLegalHold
。
-
以下程式碼範例顯示如何使用 get-object-lock-configuration。
- AWS CLI
-
擷取儲存貯體的物件鎖定組態
下列
get-object-lock-configuration範例會擷取指定儲存貯體的物件鎖定組態。aws s3api get-object-lock-configuration \ --bucketamzn-s3-demo-bucket-with-object-lock輸出:
{ "ObjectLockConfiguration": { "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 } } } }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetObjectLockConfiguration
。
-
以下程式碼範例顯示如何使用 get-object-retention。
- AWS CLI
-
擷取物件的物件保留組態
下列
get-object-retention範例會擷取指定物件的物件保留組態。aws s3api get-object-retention \ --bucketamzn-s3-demo-bucket-with-object-lock\ --keydoc1.rtf輸出:
{ "Retention": { "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00.000Z" } }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetObjectRetention
。
-
以下程式碼範例顯示如何使用 get-object-tagging。
- AWS CLI
-
擷取連接至物件的標籤
下列
get-object-tagging範例會從指定的物件擷取指定金鑰的值。aws s3api get-object-tagging \ --bucketamzn-s3-demo-bucket\ --keydoc1.rtf輸出:
{ "TagSet": [ { "Value": "confidential", "Key": "designation" } ] }下列
get-object-tagging範例會嘗試擷取doc2.rtf沒有標籤之物件 的標籤集。aws s3api get-object-tagging \ --bucketamzn-s3-demo-bucket\ --keydoc2.rtf輸出:
{ "TagSet": [] }下列
get-object-tagging範例會擷取doc3.rtf具有多個標籤之物件 的標籤集。aws s3api get-object-tagging \ --bucketamzn-s3-demo-bucket\ --keydoc3.rtf輸出:
{ "TagSet": [ { "Value": "confidential", "Key": "designation" }, { "Value": "finance", "Key": "department" }, { "Value": "payroll", "Key": "team" } ] }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetObjectTagging
。
-
以下程式碼範例顯示如何使用 get-object-torrent。
- AWS CLI
-
下列命令會為名為 的儲存貯體中的物件建立 torrent
amzn-s3-demo-bucket:aws s3api get-object-torrent --bucketamzn-s3-demo-bucket--keylarge-video-file.mp4large-video-file.torrentTorrent 檔案會儲存在本機目前的資料夾中。請注意,輸出檔案名稱 (
large-video-file.torrent) 是在沒有選項名稱的情況下指定,且必須是 命令中的最後一個引數。-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetObjectTorrent
。
-
以下程式碼範例顯示如何使用 get-object。
- AWS CLI
-
下列範例使用
get-object命令從 Amazon S3 下載物件:aws s3api get-object --buckettext-content--keydir/my_images.tar.bz2my_images.tar.bz2請注意,outfile 參數是在沒有選項名稱的情況下指定,例如 "--outfile"。輸出檔案名稱必須是 命令中的最後一個參數。
以下範例示範如何使用 從 物件
--range下載特定位元組範圍。請注意,位元組範圍必須以 "bytes=":aws s3api get-object --buckettext-content--keydir/my_data--rangebytes=8888-9999my_data_range如需擷取物件的詳細資訊,請參閱《Amazon S3 開發人員指南》中的取得物件。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 GetObject
。
-
以下程式碼範例顯示如何使用 get-public-access-block。
- AWS CLI
-
設定或修改儲存貯體的封鎖公開存取組態
下列
get-public-access-block範例顯示指定儲存貯體的封鎖公開存取組態。aws s3api get-public-access-block \ --bucketamzn-s3-demo-bucket輸出:
{ "PublicAccessBlockConfiguration": { "IgnorePublicAcls": true, "BlockPublicPolicy": true, "BlockPublicAcls": true, "RestrictPublicBuckets": true } }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 GetPublicAccessBlock
。
-
以下程式碼範例顯示如何使用 head-bucket。
- AWS CLI
-
下列命令會驗證對名為 之儲存貯體的存取權
amzn-s3-demo-bucket:aws s3api head-bucket --bucketamzn-s3-demo-bucket如果儲存貯體存在且您有權存取,則不會傳回任何輸出。否則會顯示錯誤訊息。例如:
A client error (404) occurred when calling the HeadBucket operation: Not Found-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 HeadBucket
。
-
以下程式碼範例顯示如何使用 head-object。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體中物件的中繼資料
amzn-s3-demo-bucket:aws s3api head-object --bucketamzn-s3-demo-bucket--keyindex.html輸出:
{ "AcceptRanges": "bytes", "ContentType": "text/html", "LastModified": "Thu, 16 Apr 2015 18:19:14 GMT", "ContentLength": 77, "VersionId": "null", "ETag": "\"30a6ec7e1a9ad79c203d05a589c8b400\"", "Metadata": {} }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 HeadObject
。
-
以下程式碼範例顯示如何使用 list-bucket-analytics-configurations。
- AWS CLI
-
擷取儲存貯體的分析組態清單
以下內容會
list-bucket-analytics-configurations擷取指定儲存貯體的分析組態清單。aws s3api list-bucket-analytics-configurations \ --bucketamzn-s3-demo-bucket輸出:
{ "AnalyticsConfigurationList": [ { "StorageClassAnalysis": {}, "Id": "1" } ], "IsTruncated": false }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 ListBucketAnalyticsConfigurations
。
-
以下程式碼範例顯示如何使用 list-bucket-intelligent-tiering-configurations。
- AWS CLI
-
擷取儲存貯體上的所有 S3 Intelligent-Tiering 組態
下列
list-bucket-intelligent-tiering-configurations範例會擷取儲存貯體上的所有 S3 Intelligent-Tiering 組態。aws s3api list-bucket-intelligent-tiering-configurations \ --bucketamzn-s3-demo-bucket輸出:
{ "IsTruncated": false, "IntelligentTieringConfigurationList": [ { "Id": "ExampleConfig", "Filter": { "Prefix": "images" }, "Status": "Enabled", "Tierings": [ { "Days": 90, "AccessTier": "ARCHIVE_ACCESS" }, { "Days": 180, "AccessTier": "DEEP_ARCHIVE_ACCESS" } ] }, { "Id": "ExampleConfig2", "Status": "Disabled", "Tierings": [ { "Days": 730, "AccessTier": "ARCHIVE_ACCESS" } ] }, { "Id": "ExampleConfig3", "Filter": { "Tag": { "Key": "documents", "Value": "taxes" } }, "Status": "Enabled", "Tierings": [ { "Days": 90, "AccessTier": "ARCHIVE_ACCESS" }, { "Days": 365, "AccessTier": "DEEP_ARCHIVE_ACCESS" } ] } ] }如需詳細資訊,請參閱《Amazon S3 使用者指南》中的使用 S3 Intelligent-Tiering。 Amazon S3
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 ListBucketIntelligentTieringConfigurations
。
-
以下程式碼範例顯示如何使用 list-bucket-inventory-configurations。
- AWS CLI
-
擷取儲存貯體的庫存組態清單
下列
list-bucket-inventory-configurations範例列出指定儲存貯體的庫存組態。aws s3api list-bucket-inventory-configurations \ --bucketamzn-s3-demo-bucket輸出:
{ "InventoryConfigurationList": [ { "IsEnabled": true, "Destination": { "S3BucketDestination": { "Format": "ORC", "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket", "AccountId": "123456789012" } }, "IncludedObjectVersions": "Current", "Id": "1", "Schedule": { "Frequency": "Weekly" } }, { "IsEnabled": true, "Destination": { "S3BucketDestination": { "Format": "CSV", "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket", "AccountId": "123456789012" } }, "IncludedObjectVersions": "Current", "Id": "2", "Schedule": { "Frequency": "Daily" } } ], "IsTruncated": false }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 ListBucketInventoryConfigurations
。
-
以下程式碼範例顯示如何使用 list-bucket-metrics-configurations。
- AWS CLI
-
擷取儲存貯體的指標組態清單
下列
list-bucket-metrics-configurations範例會擷取指定儲存貯體的指標組態清單。aws s3api list-bucket-metrics-configurations \ --bucketamzn-s3-demo-bucket輸出:
{ "IsTruncated": false, "MetricsConfigurationList": [ { "Filter": { "Prefix": "logs" }, "Id": "123" }, { "Filter": { "Prefix": "tmp" }, "Id": "234" } ] }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 ListBucketMetricsConfigurations
。
-
以下程式碼範例顯示如何使用 list-buckets。
- AWS CLI
-
下列命令使用
list-buckets命令來顯示所有 Amazon S3 儲存貯體的名稱 (跨所有區域):aws s3api list-buckets --query"Buckets[].Name"查詢選項會將 的輸出
list-buckets向下篩選為僅儲存貯體名稱。如需儲存貯體的詳細資訊,請參閱《Amazon S3 開發人員指南》中的使用 Amazon S3 儲存貯體。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 ListBuckets
。
-
以下程式碼範例顯示如何使用 list-multipart-uploads。
- AWS CLI
-
下列命令會列出名為 之儲存貯體的所有作用中分段上傳
amzn-s3-demo-bucket:aws s3api list-multipart-uploads --bucketamzn-s3-demo-bucket輸出:
{ "Uploads": [ { "Initiator": { "DisplayName": "username", "ID": "arn:aws:iam::0123456789012:user/username" }, "Initiated": "2015-06-02T18:01:30.000Z", "UploadId": "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R", "StorageClass": "STANDARD", "Key": "multipart/01", "Owner": { "DisplayName": "aws-account-name", "ID": "100719349fc3b6dcd7c820a124bf7aecd408092c3d7b51b38494939801fc248b" } } ], "CommonPrefixes": [] }進行中的分段上傳會在 Amazon S3 中產生儲存成本。完成或中止作用中的分段上傳,以從您的帳戶中移除其組件。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 ListMultipartUploads
。
-
以下程式碼範例顯示如何使用 list-object-versions。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體中物件的版本資訊
amzn-s3-demo-bucket:aws s3api list-object-versions --bucketamzn-s3-demo-bucket--prefixindex.html輸出:
{ "DeleteMarkers": [ { "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": true, "VersionId": "B2VsEK5saUNNHKcOAJj7hIE86RozToyq", "Key": "index.html", "LastModified": "2015-11-10T00:57:03.000Z" }, { "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": false, "VersionId": ".FLQEZscLIcfxSq.jsFJ.szUkmng2Yw6", "Key": "index.html", "LastModified": "2015-11-09T23:32:20.000Z" } ], "Versions": [ { "LastModified": "2015-11-10T00:20:11.000Z", "VersionId": "Rb_l2T8UHDkFEwCgJjhlgPOZC0qJ.vpD", "ETag": "\"0622528de826c0df5db1258a23b80be5\"", "StorageClass": "STANDARD", "Key": "index.html", "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": false, "Size": 38 }, { "LastModified": "2015-11-09T23:26:41.000Z", "VersionId": "rasWWGpgk9E4s0LyTJgusGeRQKLVIAFf", "ETag": "\"06225825b8028de826c0df5db1a23be5\"", "StorageClass": "STANDARD", "Key": "index.html", "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": false, "Size": 38 }, { "LastModified": "2015-11-09T22:50:50.000Z", "VersionId": "null", "ETag": "\"d1f45267a863c8392e07d24dd592f1b9\"", "StorageClass": "STANDARD", "Key": "index.html", "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": false, "Size": 533823 } ] }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 ListObjectVersions
。
-
以下程式碼範例顯示如何使用 list-objects-v2。
- AWS CLI
-
若要取得儲存貯體中的物件清單
下列
list-objects-v2範例列出指定儲存貯體中的物件。aws s3api list-objects-v2 \ --bucketamzn-s3-demo-bucket輸出:
{ "Contents": [ { "LastModified": "2019-11-05T23:11:50.000Z", "ETag": "\"621503c373607d548b37cff8778d992c\"", "StorageClass": "STANDARD", "Key": "doc1.rtf", "Size": 391 }, { "LastModified": "2019-11-05T23:11:50.000Z", "ETag": "\"a2cecc36ab7c7fe3a71a273b9d45b1b5\"", "StorageClass": "STANDARD", "Key": "doc2.rtf", "Size": 373 }, { "LastModified": "2019-11-05T23:11:50.000Z", "ETag": "\"08210852f65a2e9cb999972539a64d68\"", "StorageClass": "STANDARD", "Key": "doc3.rtf", "Size": 399 }, { "LastModified": "2019-11-05T23:11:50.000Z", "ETag": "\"d1852dd683f404306569471af106988e\"", "StorageClass": "STANDARD", "Key": "doc4.rtf", "Size": 6225 } ] }-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListObjectsV2
。
-
以下程式碼範例顯示如何使用 list-objects。
- AWS CLI
-
下列範例使用
list-objects命令來顯示指定儲存貯體中所有物件的名稱:aws s3api list-objects --buckettext-content--query 'Contents[].{Key: Key, Size: Size}'此範例使用
--query引數,將list-objects的輸出篩選為每個物件的金鑰值和大小如需物件的詳細資訊,請參閱《Amazon S3 開發人員指南》中的使用 Amazon S3 物件。
-
如需 API 詳細資訊,請參閱《AWS CLI API 參考》中的 ListObjects
。
-
以下程式碼範例顯示如何使用 list-parts。
- AWS CLI
-
下列命令會列出在儲存貯體
multipart/01中使用金鑰 上傳分段上傳的所有部分amzn-s3-demo-bucket:aws s3api list-parts --bucketamzn-s3-demo-bucket--key 'multipart/01' --upload-iddfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R輸出:
{ "Owner": { "DisplayName": "aws-account-name", "ID": "100719349fc3b6dcd7c820a124bf7aecd408092c3d7b51b38494939801fc248b" }, "Initiator": { "DisplayName": "username", "ID": "arn:aws:iam::0123456789012:user/username" }, "Parts": [ { "LastModified": "2015-06-02T18:07:35.000Z", "PartNumber": 1, "ETag": "\"e868e0f4719e394144ef36531ee6824c\"", "Size": 5242880 }, { "LastModified": "2015-06-02T18:07:42.000Z", "PartNumber": 2, "ETag": "\"6bb2b12753d66fe86da4998aa33fffb0\"", "Size": 5242880 }, { "LastModified": "2015-06-02T18:07:47.000Z", "PartNumber": 3, "ETag": "\"d0a0112e841abec9c9ec83406f0159c8\"", "Size": 5242880 } ], "StorageClass": "STANDARD" }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 ListParts
。
-
以下程式碼範例顯示如何使用 ls。
- AWS CLI
-
範例 1:列出所有使用者擁有的儲存貯體
下列
ls命令會列出使用者擁有的所有儲存貯體。在此範例中,使用者擁有 儲存貯體amzn-s3-demo-bucket和amzn-s3-demo-bucket2。時間戳記是建立儲存貯體的日期,顯示在機器的時區中。此日期可能會在變更儲存貯體時變更,例如編輯其儲存貯體政策。請注意,如果s3://用於路徑引數<S3Uri>,它也會列出所有儲存貯體。aws s3 ls輸出:
2013-07-11 17:08:50 amzn-s3-demo-bucket 2013-07-24 14:55:44 amzn-s3-demo-bucket2範例 2:列出儲存貯體中的所有字首和物件
下列
ls命令會列出指定儲存貯體和字首下的物件和常見字首。在此範例中,使用者擁有amzn-s3-demo-bucket具有物件test.txt和 的 儲存貯體somePrefix/test.txt。LastWriteTime和Length是任意的。請注意,由於ls命令與本機檔案系統沒有互動,因此不需要s3://URI 結構描述來解決模棱兩可的情況,而且可以省略。aws s3 lss3://amzn-s3-demo-bucket輸出:
PRE somePrefix/ 2013-07-25 17:06:27 88 test.txt範例 3:列出特定儲存貯體和字首中的所有字首和物件
下列
ls命令會列出指定儲存貯體和字首下的物件和常見字首。不過,指定的儲存貯體和字首下沒有物件或通用字首。aws s3 lss3://amzn-s3-demo-bucket/noExistPrefix輸出:
None範例 4:遞迴列出儲存貯體中的所有字首和物件
下列
ls命令會遞迴列出儲存貯體中的物件。儲存貯體中的所有內容都會依序列出,而不是顯示在輸出PRE dirname/中。aws s3 lss3://amzn-s3-demo-bucket\ --recursive輸出:
2013-09-02 21:37:53 10 a.txt 2013-09-02 21:37:53 2863288 foo.zip 2013-09-02 21:32:57 23 foo/bar/.baz/a 2013-09-02 21:32:58 41 foo/bar/.baz/b 2013-09-02 21:32:57 281 foo/bar/.baz/c 2013-09-02 21:32:57 73 foo/bar/.baz/d 2013-09-02 21:32:57 452 foo/bar/.baz/e 2013-09-02 21:32:57 896 foo/bar/.baz/hooks/bar 2013-09-02 21:32:57 189 foo/bar/.baz/hooks/foo 2013-09-02 21:32:57 398 z.txt範例 5:摘要儲存貯體中的所有字首和物件
下列
ls命令示範使用 --human-readable 和 --summarize 選項的相同命令。--human-readable 會以 Bytes/MiB/KiB/GiB/TiB/PiB/EiB 顯示檔案大小。--summarize 會在結果清單結尾顯示物件總數和大小總計:aws s3 lss3://amzn-s3-demo-bucket\ --recursive \ --human-readable \ --summarize輸出:
2013-09-02 21:37:53 10 Bytes a.txt 2013-09-02 21:37:53 2.9 MiB foo.zip 2013-09-02 21:32:57 23 Bytes foo/bar/.baz/a 2013-09-02 21:32:58 41 Bytes foo/bar/.baz/b 2013-09-02 21:32:57 281 Bytes foo/bar/.baz/c 2013-09-02 21:32:57 73 Bytes foo/bar/.baz/d 2013-09-02 21:32:57 452 Bytes foo/bar/.baz/e 2013-09-02 21:32:57 896 Bytes foo/bar/.baz/hooks/bar 2013-09-02 21:32:57 189 Bytes foo/bar/.baz/hooks/foo 2013-09-02 21:32:57 398 Bytes z.txt Total Objects: 10 Total Size: 2.9 MiB範例 6:從 S3 存取點列出
下列
ls命令會列出來自存取點 () 的物件myaccesspoint:aws s3 lss3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/輸出:
PRE somePrefix/ 2013-07-25 17:06:27 88 test.txt-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 Ls
。
-
以下程式碼範例顯示如何使用 mb。
- AWS CLI
-
範例 1:建立儲存貯體
下列
mb命令會建立儲存貯體。在此範例中,使用者會將儲存貯體設為amzn-s3-demo-bucket。儲存貯體是在使用者組態檔案中指定的區域中建立:aws s3 mbs3://amzn-s3-demo-bucket輸出:
make_bucket: s3://amzn-s3-demo-bucket範例 2:在指定區域中建立儲存貯體
下列
mb命令會在--region參數指定的區域中建立儲存貯體。在此範例中,使用者在區域 中製作儲存貯amzn-s3-demo-bucket體us-west-1:aws s3 mbs3://amzn-s3-demo-bucket\ --regionus-west-1輸出:
make_bucket: s3://amzn-s3-demo-bucket-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 Mb
。
-
以下程式碼範例顯示如何使用 mv。
- AWS CLI
-
範例 1:將本機檔案移至指定的儲存貯體
下列
mv命令會將單一檔案移至指定的儲存貯體和金鑰。aws s3 mvtest.txts3://amzn-s3-demo-bucket/test2.txt輸出:
move: test.txt to s3://amzn-s3-demo-bucket/test2.txt範例 2:將物件移至指定的儲存貯體和金鑰
下列
mv命令會將單一 s3 物件移至指定的儲存貯體和金鑰。aws s3 mvs3://amzn-s3-demo-bucket/test.txts3://amzn-s3-demo-bucket/test2.txt輸出:
move: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket/test2.txt範例 3:將 S3 物件移至本機目錄
下列
mv命令會將單一物件移至本機指定的檔案。aws s3 mvs3://amzn-s3-demo-bucket/test.txttest2.txt輸出:
move: s3://amzn-s3-demo-bucket/test.txt to test2.txt範例 4:將具有原始名稱的物件移至指定的儲存貯體
下列
mv命令會將單一物件移至指定的儲存貯體,同時保留其原始名稱:aws s3 mvs3://amzn-s3-demo-bucket/test.txts3://amzn-s3-demo-bucket2/輸出:
move: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket2/test.txt範例 5:將儲存貯體中的所有物件和字首移至本機目錄
與 參數 一起傳遞時
--recursive,下列mv命令會遞迴地將所有指定字首和儲存貯體下的物件移至指定的目錄。在此範例中,儲存貯amzn-s3-demo-bucket體具有 物件test1.txt和test2.txt。aws s3 mvs3://amzn-s3-demo-bucket.\ --recursive輸出:
move: s3://amzn-s3-demo-bucket/test1.txt to test1.txt move: s3://amzn-s3-demo-bucket/test2.txt to test2.txt範例 6:將儲存貯體中的所有物件和字首移至本機目錄,但 ``.jpg`` 檔案除外
使用 參數 傳遞時
--recursive,下列mv命令會遞迴移動指定目錄下的所有檔案至指定的儲存貯體和字首,同時使用--exclude參數排除某些檔案。在此範例中, 目錄myDir具有 檔案test1.txt和test2.jpg。aws s3 mvmyDirs3://amzn-s3-demo-bucket/\ --recursive \ --exclude"*.jpg"輸出:
move: myDir/test1.txt to s3://amzn-s3-demo-bucket2/test1.txt範例 7:將儲存貯體中的所有物件和字首移至本機目錄,但指定的字首除外
使用 參數 傳遞時
--recursive,下列mv命令會遞迴移動指定儲存貯體下的所有物件至另一個儲存貯體,同時使用--exclude參數排除某些物件。在此範例中,儲存貯amzn-s3-demo-bucket體具有 物件test1.txt和another/test1.txt。aws s3 mvs3://amzn-s3-demo-bucket/s3://amzn-s3-demo-bucket2/\ --recursive \ --exclude"amzn-s3-demo-bucket/another/*"輸出:
move: s3://amzn-s3-demo-bucket/test1.txt to s3://amzn-s3-demo-bucket2/test1.txt範例 8:將物件移至指定的儲存貯體,並設定 ACL
下列
mv命令會將 ACL 設定為 時,將單一物件移至指定的儲存貯體和金鑰public-read-write。aws s3 mvs3://amzn-s3-demo-bucket/test.txts3://amzn-s3-demo-bucket/test2.txt\ --aclpublic-read-write輸出:
move: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket/test2.txt範例 9:將本機檔案移至指定的儲存貯體並授予許可
下列
mv命令說明使用--grants選項,將讀取存取權授予所有使用者,並完全控制由其電子郵件地址識別的特定使用者。aws s3 mvfile.txts3://amzn-s3-demo-bucket/\ --grantsread=uri=http://acs.amazonaws.com/groups/global/AllUsersfull=emailaddress=user@example.com輸出:
move: file.txt to s3://amzn-s3-demo-bucket/file.txt範例 10:將檔案移至 S3 存取點
下列
mv命令mydoc.txt會將名為 的單一檔案移至名為 之金鑰myaccesspoint的存取點mykey。aws s3 mvmydoc.txts3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey輸出:
move: mydoc.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 Mv
。
-
以下程式碼範例顯示如何使用 presign。
- AWS CLI
-
範例 1:使用連結至 S3 儲存貯體中物件的預設一小時生命週期建立預先簽章的 URL
下列
presign命令會為指定的儲存貯體和金鑰產生預先簽章的 URL,有效期為一小時。aws s3 presigns3://amzn-s3-demo-bucket/test2.txt輸出:
https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/key?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAEXAMPLE123456789%2F20210621%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210621T041609Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=EXAMBLE1234494d5fba3fed607f98018e1dfc62e2529ae96d844123456範例 2:建立具有連結至 S3 儲存貯體中物件之自訂生命週期的預先簽章 URL
下列
presign命令會針對一週內有效的指定儲存貯體和金鑰產生預先簽章的 URL。aws s3 presigns3://amzn-s3-demo-bucket/test2.txt\ --expires-in604800輸出:
https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/key?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAEXAMPLE123456789%2F20210621%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210621T041609Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=EXAMBLE1234494d5fba3fed607f98018e1dfc62e2529ae96d844123456如需詳細資訊,請參閱《S3 開發人員指南》中的與其他人共用物件。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的預先簽章
。
-
以下程式碼範例顯示如何使用 put-bucket-accelerate-configuration。
- AWS CLI
-
設定儲存貯體的加速組態
下列
put-bucket-accelerate-configuration範例會啟用指定儲存貯體的加速組態。aws s3api put-bucket-accelerate-configuration \ --bucketamzn-s3-demo-bucket\ --accelerate-configurationStatus=Enabled此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketAccelerateConfiguration
。
-
以下程式碼範例顯示如何使用 put-bucket-acl。
- AWS CLI
-
此範例
full control授予兩個 AWS 使用者 (user1@example.com 和 user2@example.com) 和read許可給每個人:aws s3api put-bucket-acl --bucketamzn-s3-demo-bucket--grant-full-controlemailaddress=user1@example.com,emailaddress=user2@example.com--grant-readuri=http://acs.amazonaws.com/groups/global/AllUsers如需自訂 ACLs(s3api ACL 命令,例如
put-bucket-acl,請使用相同的速記引數表示法),請參閱 http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html://。-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketAcl
。
-
以下程式碼範例顯示如何使用 put-bucket-analytics-configuration。
- AWS CLI
-
設定儲存貯體的分析組態
下列
put-bucket-analytics-configuration範例會設定指定儲存貯體的分析。aws s3api put-bucket-analytics-configuration \ --bucketamzn-s3-demo-bucket--id1\ --analytics-configuration '{"Id": "1","StorageClassAnalysis": {}}'此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketAnalyticsConfiguration
。
-
以下程式碼範例顯示如何使用 put-bucket-cors。
- AWS CLI
-
下列範例會啟用來自 www.example.com
PUT的POST、 和DELETE請求,並啟用來自任何網域的GET請求:aws s3api put-bucket-cors --bucketamzn-s3-demo-bucket--cors-configurationfile://cors.jsoncors.json:{"CORSRules":[{"AllowedOrigins": ["http://www.example.com"], "AllowedHeaders": ["*"], "AllowedMethods": ["PUT", "POST", "DELETE"], "MaxAgeSeconds":3000,"ExposeHeaders": ["x-amz-server-side-encryption"]},{"AllowedOrigins": ["*"], "AllowedHeaders": ["Authorization"], "AllowedMethods": ["GET"], "MaxAgeSeconds":3000}]}-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketCors
。
-
以下程式碼範例顯示如何使用 put-bucket-encryption。
- AWS CLI
-
設定儲存貯體的伺服器端加密
下列
put-bucket-encryption範例會將 AES256 加密設定為指定儲存貯體的預設值。aws s3api put-bucket-encryption \ --bucketamzn-s3-demo-bucket\ --server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "AES256"}}]}'此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketEncryption
。
-
以下程式碼範例顯示如何使用 put-bucket-intelligent-tiering-configuration。
- AWS CLI
-
更新儲存貯體上的 S3 Intelligent-Tiering 組態
下列
put-bucket-intelligent-tiering-configuration範例會在儲存貯體上更新名為 ExampleConfig 的 S3 Intelligent-Tiering 組態。組態會在 90 天後將未在字首影像下存取的物件轉換為封存存取,並在 180 天後將 Deep Archive Access 轉換為封存存取。aws s3api put-bucket-intelligent-tiering-configuration \ --bucketamzn-s3-demo-bucket\ --id"ExampleConfig"\ --intelligent-tiering-configurationfile://intelligent-tiering-configuration.jsonintelligent-tiering-configuration.json的內容:{ "Id": "ExampleConfig", "Status": "Enabled", "Filter": { "Prefix": "images" }, "Tierings": [ { "Days": 90, "AccessTier": "ARCHIVE_ACCESS" }, { "Days": 180, "AccessTier": "DEEP_ARCHIVE_ACCESS" } ] }此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon S3 使用者指南》中的在現有儲存貯體上設定物件擁有權。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketIntelligentTieringConfiguration
。
-
以下程式碼範例顯示如何使用 put-bucket-inventory-configuration。
- AWS CLI
-
範例 1:設定儲存貯體的庫存組態
下列
put-bucket-inventory-configuration範例會設定儲存貯體 的每週 ORC 格式庫存報告amzn-s3-demo-bucket。aws s3api put-bucket-inventory-configuration \ --bucketamzn-s3-demo-bucket\ --id1\ --inventory-configuration '{"Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket", "Format": "ORC" }}, "IsEnabled": true, "Id": "1", "IncludedObjectVersions": "Current", "Schedule": { "Frequency": "Weekly" }}'此命令不會產生輸出。
範例 2:設定儲存貯體的庫存組態
下列
put-bucket-inventory-configuration範例會設定儲存貯體 的每日 CSV 格式庫存報告amzn-s3-demo-bucket。aws s3api put-bucket-inventory-configuration \ --bucketamzn-s3-demo-bucket\ --id2\ --inventory-configuration '{"Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket", "Format": "CSV" }}, "IsEnabled": true, "Id": "2", "IncludedObjectVersions": "Current", "Schedule": { "Frequency": "Daily" }}'此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketInventoryConfiguration
。
-
以下程式碼範例顯示如何使用 put-bucket-lifecycle-configuration。
- AWS CLI
-
下列命令會將生命週期組態套用至名為 的儲存貯體
amzn-s3-demo-bucket:aws s3api put-bucket-lifecycle-configuration --bucketamzn-s3-demo-bucket--lifecycle-configurationfile://lifecycle.json檔案
lifecycle.json是目前資料夾中的 JSON 文件,可指定兩個規則:{ "Rules": [ { "ID": "Move rotated logs to Glacier", "Prefix": "rotated/", "Status": "Enabled", "Transitions": [ { "Date": "2015-11-10T00:00:00.000Z", "StorageClass": "GLACIER" } ] }, { "Status": "Enabled", "Prefix": "", "NoncurrentVersionTransitions": [ { "NoncurrentDays": 2, "StorageClass": "GLACIER" } ], "ID": "Move old versions to Glacier" } ] }第一個規則會在指定的日期將字首為 的檔案移至
rotatedGlacier。當舊物件版本不再是最新版本時,第二個規則會將舊物件版本移至 Glacier。如需可接受時間戳記格式的資訊,請參閱《AWS CLI 使用者指南》中的指定參數值。-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketLifecycleConfiguration
。
-
以下程式碼範例顯示如何使用 put-bucket-lifecycle。
- AWS CLI
-
下列命令會將生命週期組態套用至儲存貯體
amzn-s3-demo-bucket:aws s3api put-bucket-lifecycle --bucketamzn-s3-demo-bucket--lifecycle-configurationfile://lifecycle.json檔案
lifecycle.json是目前資料夾中的 JSON 文件,可指定兩個規則:{ "Rules": [ { "ID": "Move to Glacier after sixty days (objects in logs/2015/)", "Prefix": "logs/2015/", "Status": "Enabled", "Transition": { "Days": 60, "StorageClass": "GLACIER" } }, { "Expiration": { "Date": "2016-01-01T00:00:00.000Z" }, "ID": "Delete 2014 logs in 2016.", "Prefix": "logs/2014/", "Status": "Enabled" } ] }第一個規則會在 60 天後將檔案移至 Amazon Glacier。第二個規則會在指定的日期從 Amazon S3 刪除檔案。如需可接受時間戳記格式的資訊,請參閱《AWS CLI 使用者指南》中的指定參數值。
上述範例中的每個規則都會指定其套用的政策 (
Transition或Expiration) 和檔案字首 (資料夾名稱)。您也可以透過指定空白字首來建立套用至整個儲存貯體的規則:{ "Rules": [ { "ID": "Move to Glacier after sixty days (all objects in bucket)", "Prefix": "", "Status": "Enabled", "Transition": { "Days": 60, "StorageClass": "GLACIER" } } ] }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketLifecycle
。
-
以下程式碼範例顯示如何使用 put-bucket-logging。
- AWS CLI
-
範例 1:設定儲存貯體政策記錄
下列
put-bucket-logging範例會設定 amzn-s3-demo-bucket 的記錄政策。首先,使用put-bucket-policy命令在儲存貯體政策中授予記錄服務主體許可。aws s3api put-bucket-policy \ --bucketamzn-s3-demo-bucket\ --policyfile://policy.jsonpolicy.json的內容:{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3ServerAccessLogsPolicy", "Effect": "Allow", "Principal": {"Service": "logging.s3.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/Logs/*", "Condition": { "ArnLike": {"aws:SourceARN": "arn:aws:s3:::SOURCE-BUCKET-NAME"}, "StringEquals": {"aws:SourceAccount": "SOURCE-AWS-ACCOUNT-ID"} } } ] }若要套用記錄政策,請使用
put-bucket-logging。aws s3api put-bucket-logging \ --bucketamzn-s3-demo-bucket\ --bucket-logging-statusfile://logging.jsonlogging.json的內容:{ "LoggingEnabled": { "TargetBucket": "amzn-s3-demo-bucket", "TargetPrefix": "Logs/" } }需要
put-bucket-policy命令才能將s3:PutObject許可授予記錄服務主體。如需詳細資訊,請參閱《Amazon S3 使用者指南》中的 Amazon S3 伺服器存取記錄。 Amazon S3
範例 2:設定僅記錄單一使用者的存取的儲存貯體政策
下列
put-bucket-logging範例會設定 amzn-s3-demo-bucket 的記錄政策。 AWS 使用者 bob@example.com 將擁有對日誌檔案的完全控制權,且沒有人具有任何存取權。首先,使用 授予 S3 許可put-bucket-acl。aws s3api put-bucket-acl \ --bucketamzn-s3-demo-bucket\ --grant-writeURI=http://acs.amazonaws.com/groups/s3/LogDelivery\ --grant-read-acpURI=http://acs.amazonaws.com/groups/s3/LogDelivery然後使用 套用記錄政策
put-bucket-logging。aws s3api put-bucket-logging \ --bucketamzn-s3-demo-bucket\ --bucket-logging-statusfile://logging.jsonlogging.json的內容:{ "LoggingEnabled": { "TargetBucket": "amzn-s3-demo-bucket", "TargetPrefix": "amzn-s3-demo-bucket-logs/", "TargetGrants": [ { "Grantee": { "Type": "AmazonCustomerByEmail", "EmailAddress": "bob@example.com" }, "Permission": "FULL_CONTROL" } ] } }需要
put-bucket-acl命令才能授予 S3 的日誌交付系統必要的許可 (寫入和讀取 Ap 許可)。如需詳細資訊,請參閱《Amazon S3 開發人員指南》中的 Amazon S3 伺服器存取記錄。 Amazon S3
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketLogging
。
-
以下程式碼範例顯示如何使用 put-bucket-metrics-configuration。
- AWS CLI
-
設定儲存貯體的指標組態
下列
put-bucket-metrics-configuration範例會為指定的儲存貯體設定 ID 為 123 的指標組態。aws s3api put-bucket-metrics-configuration \ --bucketamzn-s3-demo-bucket\ --id123\ --metrics-configuration '{"Id": "123", "Filter": {"Prefix": "logs"}}'此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketMetricsConfiguration
。
-
以下程式碼範例顯示如何使用 put-bucket-notification-configuration。
- AWS CLI
-
啟用儲存貯體的指定通知
下列
put-bucket-notification-configuration範例會將通知組態套用至名為 的儲存貯體amzn-s3-demo-bucket。檔案notification.json是目前資料夾中的 JSON 文件,指定要監控的 SNS 主題和事件類型。aws s3api put-bucket-notification-configuration \ --bucketamzn-s3-demo-bucket\ --notification-configurationfile://notification.jsonnotification.json的內容:{ "TopicConfigurations": [ { "TopicArn": "arn:aws:sns:us-west-2:123456789012:s3-notification-topic", "Events": [ "s3:ObjectCreated:*" ] } ] }SNS 主題必須連接 IAM 政策,允許 Amazon S3 發佈至該政策。
{ "Version": "2008-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SNS:Publish" ], "Resource": "arn:aws:sns:us-west-2:123456789012::s3-notification-topic", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:amzn-s3-demo-bucket" } } } ] }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketNotificationConfiguration
。
-
以下程式碼範例顯示如何使用 put-bucket-notification。
- AWS CLI
-
會將通知組態套用至名為 的儲存貯體
amzn-s3-demo-bucket:aws s3api put-bucket-notification --bucketamzn-s3-demo-bucket--notification-configurationfile://notification.json檔案
notification.json是目前資料夾中的 JSON 文件,指定要監控的 SNS 主題和事件類型:{ "TopicConfiguration": { "Event": "s3:ObjectCreated:*", "Topic": "arn:aws:sns:us-west-2:123456789012:s3-notification-topic" } }SNS 主題必須連接 IAM 政策,允許 Amazon S3 發佈至該政策:
{ "Version": "2008-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SNS:Publish" ], "Resource": "arn:aws:sns:us-west-2:123456789012:amzn-s3-demo-bucket", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:amzn-s3-demo-bucket" } } } ] }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketNotification
。
-
以下程式碼範例顯示如何使用 put-bucket-ownership-controls。
- AWS CLI
-
更新儲存貯體的儲存貯體擁有權設定
下列
put-bucket-ownership-controls範例會更新儲存貯體的儲存貯體擁有權設定。aws s3api put-bucket-ownership-controls \ --bucketamzn-s3-demo-bucket\ --ownership-controls="Rules=[{ObjectOwnership=BucketOwnerEnforced}]"此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon S3 使用者指南》中的在現有儲存貯體上設定物件擁有權。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketOwnershipControls
。
-
以下程式碼範例顯示如何使用 put-bucket-policy。
- AWS CLI
-
此範例允許所有使用者擷取 amzn-s3-demo-bucket 中的任何物件,但 MySecretFolder 中的物件除外。它也會將
put和delete許可授予 AWS 帳戶 的根使用者1234-5678-9012:aws s3api put-bucket-policy --bucketamzn-s3-demo-bucket--policyfile://policy.jsonpolicy.json:{"Statement":[{"Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource":"arn:aws:s3:::amzn-s3-demo-bucket/*"},{"Effect": "Deny", "Principal": "*", "Action": "s3:GetObject", "Resource":"arn:aws:s3:::amzn-s3-demo-bucket/MySecretFolder/*"},{"Effect": "Allow", "Principal":{"AWS":"arn:aws:iam::123456789012:root"},"Action":["s3:DeleteObject","s3:PutObject"],"Resource":"arn:aws:s3:::amzn-s3-demo-bucket/*"}]}-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketPolicy
。
-
以下程式碼範例顯示如何使用 put-bucket-replication。
- AWS CLI
-
設定 S3 儲存貯體的複寫
下列
put-bucket-replication範例會將複寫組態套用至指定的 S3 儲存貯體。aws s3api put-bucket-replication \ --bucketamzn-s3-demo-bucket1\ --replication-configurationfile://replication.jsonreplication.json的內容:{ "Role": "arn:aws:iam::123456789012:role/s3-replication-role", "Rules": [ { "Status": "Enabled", "Priority": 1, "DeleteMarkerReplication": { "Status": "Disabled" }, "Filter" : { "Prefix": ""}, "Destination": { "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket2" } } ] }目的地儲存貯體必須已啟用版本控制。指定的角色必須具有寫入目的地儲存貯體的許可,並具有允許 Amazon S3 擔任該角色的信任關係。
範例角色許可政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1" ] }, { "Effect": "Allow", "Action": [ "s3:GetObjectVersion", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1/*" ] }, { "Effect": "Allow", "Action": [ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket2/*" } ] }信任關係政策範例:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon Simple Storage Service 主控台使用者指南》中的這是主題標題。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketReplication
。
-
以下程式碼範例顯示如何使用 put-bucket-request-payment。
- AWS CLI
-
範例 1:啟用儲存貯體的 ``requester pays`` 組態
下列
put-bucket-request-payment範例requester pays會針對指定的儲存貯體啟用 。aws s3api put-bucket-request-payment \ --bucketamzn-s3-demo-bucket\ --request-payment-configuration '{"Payer":"Requester"}'此命令不會產生輸出。
範例 2:停用儲存貯體的 ``requester pays`` 組態
下列
put-bucket-request-payment範例requester pays會針對指定的儲存貯體停用 。aws s3api put-bucket-request-payment \ --bucketamzn-s3-demo-bucket\ --request-payment-configuration '{"Payer":"BucketOwner"}'此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketRequestPayment
。
-
以下程式碼範例顯示如何使用 put-bucket-tagging。
- AWS CLI
-
下列命令會將標記組態套用至名為 的儲存貯體
amzn-s3-demo-bucket:aws s3api put-bucket-tagging --bucketamzn-s3-demo-bucket--taggingfile://tagging.json檔案
tagging.json是目前資料夾中指定標籤的 JSON 文件:{ "TagSet": [ { "Key": "organization", "Value": "marketing" } ] }或者
amzn-s3-demo-bucket,直接從命令列將標記組態套用至 :aws s3api put-bucket-tagging --bucketamzn-s3-demo-bucket--tagging 'TagSet=[{Key=organization,Value=marketing}]'-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketTagging
。
-
以下程式碼範例顯示如何使用 put-bucket-versioning。
- AWS CLI
-
下列命令會在名為 的儲存貯體上啟用版本控制
amzn-s3-demo-bucket:aws s3api put-bucket-versioning --bucketamzn-s3-demo-bucket--versioning-configurationStatus=Enabled下列命令會啟用版本控制,並使用 mfa 程式碼
aws s3api put-bucket-versioning --bucketamzn-s3-demo-bucket--versioning-configurationStatus=Enabled--mfa"SERIAL 123456"-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketVersioning
。
-
以下程式碼範例顯示如何使用 put-bucket-website。
- AWS CLI
-
會將靜態網站組態套用至名為 的儲存貯體
amzn-s3-demo-bucket:aws s3api put-bucket-website --bucketamzn-s3-demo-bucket--website-configurationfile://website.json檔案
website.json是目前資料夾中的 JSON 文件,可指定網站的索引和錯誤頁面:{ "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutBucketWebsite
。
-
以下程式碼範例顯示如何使用 put-object-acl。
- AWS CLI
-
下列命令
full control會授予兩個 AWS 使用者 (user1@example.com 和 user2@example.com) 和read許可給每個人:aws s3api put-object-acl --bucketamzn-s3-demo-bucket--keyfile.txt--grant-full-controlemailaddress=user1@example.com,emailaddress=user2@example.com--grant-readuri=http://acs.amazonaws.com/groups/global/AllUsers如需自訂 ACLs 的詳細資訊 (s3api ACL 命令,例如
put-object-acl,請使用相同的速記引數表示法),請參閱 http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html://。-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutObjectAcl
。
-
以下程式碼範例顯示如何使用 put-object-legal-hold。
- AWS CLI
-
將法務保存套用至物件
下列
put-object-legal-hold範例會設定物件 的法務保存doc1.rtf。aws s3api put-object-legal-hold \ --bucketamzn-s3-demo-bucket-with-object-lock\ --keydoc1.rtf\ --legal-holdStatus=ON此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutObjectLegalHold
。
-
以下程式碼範例顯示如何使用 put-object-lock-configuration。
- AWS CLI
-
在儲存貯體上設定物件鎖定組態
下列
put-object-lock-configuration範例會在指定的儲存貯體上設定 50 天的物件鎖定。aws s3api put-object-lock-configuration \ --bucketamzn-s3-demo-bucket-with-object-lock\ --object-lock-configuration '{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 }}}'此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutObjectLockConfiguration
。
-
以下程式碼範例顯示如何使用 put-object-retention。
- AWS CLI
-
設定物件的物件保留組態
下列
put-object-retention範例會設定指定物件的物件保留組態,直到 2025-01-01。aws s3api put-object-retention \ --bucketamzn-s3-demo-bucket-with-object-lock\ --keydoc1.rtf\ --retention '{ "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00" }'此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutObjectRetention
。
-
以下程式碼範例顯示如何使用 put-object-tagging。
- AWS CLI
-
在物件上設定標籤
下列
put-object-tagging範例會在指定的物件confidential上設定具有 金鑰designation和 值的標籤。aws s3api put-object-tagging \ --bucketamzn-s3-demo-bucket\ --keydoc1.rtf\ --tagging '{"TagSet": [{ "Key": "designation", "Value": "confidential" }]}'此命令不會產生輸出。
下列
put-object-tagging範例會在指定的物件上設定多個標籤集。aws s3api put-object-tagging \ --bucketamzn-s3-demo-bucket-example\ --keydoc3.rtf\ --tagging '{"TagSet": [{ "Key": "designation", "Value": "confidential" }, { "Key": "department", "Value": "finance" }, { "Key": "team", "Value": "payroll" } ]}'此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutObjectTagging
。
-
以下程式碼範例顯示如何使用 put-object。
- AWS CLI
-
範例 1:將物件上傳至 Amazon S3
下列
put-object命令範例會將物件上傳至 Amazon S3。aws s3api put-object \ --bucketamzn-s3-demo-bucket\ --keymy-dir/MySampleImage.png\ --bodyMySampleImage.png如需上傳物件的詳細資訊,請參閱《Amazon S3 開發人員指南》中的上傳物件 < http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html>。
範例 2:將影片檔案上傳至 Amazon S3
下列
put-object命令範例會上傳影片檔案。aws s3api put-object \ --bucketamzn-s3-demo-bucket\ --keymy-dir/big-video-file.mp4\ --body/media/videos/f-sharp-3-data-services.mp4如需上傳物件的詳細資訊,請參閱《Amazon S3 開發人員指南》中的上傳物件 < http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html>。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 PutObject
。
-
以下程式碼範例顯示如何使用 put-public-access-block。
- AWS CLI
-
設定儲存貯體的封鎖公開存取組態
下列
put-public-access-block範例會為指定的儲存貯體設定限制性封鎖公開存取組態。aws s3api put-public-access-block \ --bucketamzn-s3-demo-bucket\ --public-access-block-configuration"BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true"此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 PutPublicAccessBlock
。
-
以下程式碼範例顯示如何使用 rb。
- AWS CLI
-
範例 1:刪除儲存貯體
下列
rb命令會移除儲存貯體。在此範例中,使用者的儲存貯體為amzn-s3-demo-bucket。請注意,儲存貯體必須為空,才能移除:aws s3 rbs3://amzn-s3-demo-bucket輸出:
remove_bucket: amzn-s3-demo-bucket範例 2:強制刪除儲存貯體
下列
rb命令會使用--force參數,先移除儲存貯體中的所有物件,然後移除儲存貯體本身。在此範例中,使用者的儲存貯體是amzn-s3-demo-bucket,而 中的物件amzn-s3-demo-bucket是test1.txt和test2.txt:aws s3 rbs3://amzn-s3-demo-bucket\ --force輸出:
delete: s3://amzn-s3-demo-bucket/test1.txt delete: s3://amzn-s3-demo-bucket/test2.txt remove_bucket: amzn-s3-demo-bucket-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 Rb
。
-
以下程式碼範例顯示如何使用 restore-object。
- AWS CLI
-
建立物件的還原請求
下列
restore-object範例會為儲存貯體還原指定的 Amazon S3 Glacier 物件my-glacier-bucket10 天。aws s3api restore-object \ --bucketmy-glacier-bucket\ --keydoc1.rtf\ --restore-requestDays=10此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 RestoreObject
。
-
以下程式碼範例顯示如何使用 rm。
- AWS CLI
-
範例 1:刪除 S3 物件
下列
rm命令會刪除單一 s3 物件:aws s3 rms3://amzn-s3-demo-bucket/test2.txt輸出:
delete: s3://amzn-s3-demo-bucket/test2.txt範例 2:刪除儲存貯體中的所有內容
使用 參數 傳遞時,下列
rm命令會遞迴刪除指定儲存貯體和字首下的所有物件--recursive。在此範例中,儲存貯體amzn-s3-demo-bucket包含物件test1.txt和test2.txt:aws s3 rms3://amzn-s3-demo-bucket\ --recursive輸出:
delete: s3://amzn-s3-demo-bucket/test1.txt delete: s3://amzn-s3-demo-bucket/test2.txt範例 3:刪除儲存貯體中的所有內容,但 ``.jpg`` 檔案除外
使用 參數
--recursive排除某些物件時,下列rm命令會遞迴刪除指定儲存貯體和字首下的所有物件--exclude。在此範例中,儲存貯體amzn-s3-demo-bucket具有 物件test1.txt和test2.jpg:aws s3 rms3://amzn-s3-demo-bucket/\ --recursive \ --exclude"*.jpg"輸出:
delete: s3://amzn-s3-demo-bucket/test1.txt範例 4:刪除儲存貯體中的所有內容,指定字首下的物件除外
使用 參數傳遞時,下列
rm命令會遞迴刪除指定儲存貯體和字首下的所有物件,--recursive同時使用--exclude參數排除特定字首下的所有物件。在此範例中,儲存貯體amzn-s3-demo-bucket具有 物件test1.txt和another/test.txt:aws s3 rms3://amzn-s3-demo-bucket/\ --recursive \ --exclude"another/*"輸出:
delete: s3://amzn-s3-demo-bucket/test1.txt範例 5:從 S3 存取點刪除物件
下列
rm命令會從存取點 (mykey) 刪除單一物件 (myaccesspoint)。::下列rm命令會從存取點 (mykey) 刪除單一物件 (myaccesspoint)。aws s3 rms3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey輸出:
delete: s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 Rm
。
-
以下程式碼範例顯示如何使用 select-object-content。
- AWS CLI
-
根據 SQL 陳述式篩選 Amazon S3 物件的內容
下列
select-object-content範例my-data-file.csv會使用指定的 SQL 陳述式篩選物件,並將輸出傳送至檔案。aws s3api select-object-content \ --bucketamzn-s3-demo-bucket\ --keymy-data-file.csv\ --expression"select * from s3object limit 100"\ --expression-type 'SQL' \ --input-serialization '{"CSV": {}, "CompressionType": "NONE"}' \ --output-serialization '{"CSV": {}}'"output.csv"此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 SelectObjectContent
。
-
以下程式碼範例顯示如何使用 sync。
- AWS CLI
-
範例 1:將所有本機物件同步至指定的儲存貯體
下列
sync命令會將本機檔案上傳至 S3,以將物件從本機目錄同步至指定的字首和儲存貯體。如果本機檔案的大小與 S3 物件的大小不同、本機檔案的上次修改時間比 S3 物件的上次修改時間更新,或本機檔案不存在於指定的儲存貯體和字首下,則需要上傳本機檔案。在此範例中,使用者會將儲存貯體同步amzn-s3-demo-bucket至本機目前的目錄。本機目前目錄包含 檔案test.txt和test2.txt。儲存貯amzn-s3-demo-bucket體不包含物件。aws s3 sync.s3://amzn-s3-demo-bucket輸出:
upload: test.txt to s3://amzn-s3-demo-bucket/test.txt upload: test2.txt to s3://amzn-s3-demo-bucket/test2.txt範例 2:將所有 S3 物件從指定的 S3 儲存貯體同步到另一個儲存貯體
下列
sync命令會透過複製 S3 物件,將指定字首和儲存貯體下的物件同步至另一個指定字首和儲存貯體下的物件。如果兩個 S3S3 物件的大小不同、來源的上次修改時間比目的地的上次修改時間更新,或 S3 物件不存在於指定的儲存貯體和字首目的地下方,則 S3 物件將需要複製。在此範例中,使用者會將儲存貯體同步
amzn-s3-demo-bucket至儲存貯體amzn-s3-demo-bucket2。儲存貯體amzn-s3-demo-bucket包含物件test.txt和test2.txt。儲存貯amzn-s3-demo-bucket2體不包含物件:aws s3 syncs3://amzn-s3-demo-buckets3://amzn-s3-demo-bucket2輸出:
copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket2/test.txt copy: s3://amzn-s3-demo-bucket/test2.txt to s3://amzn-s3-demo-bucket2/test2.txt範例 3:將所有 S3 物件從指定的 S3 儲存貯體同步至本機目錄
下列
sync命令會透過下載 S3 物件,將檔案從指定的 S3 儲存貯體同步至本機目錄。如果 S3S3 物件的大小與本機檔案大小不同、S3 物件的上次修改時間比本機檔案的上次修改時間更新,或本機目錄中不存在 S3 物件,則 S3 物件將需要下載。請注意,從 S3 下載物件時,本機檔案的上次修改時間會變更為 S3 物件的上次修改時間。在此範例中,使用者會將儲存貯體同步amzn-s3-demo-bucket至目前的本機目錄。儲存貯體amzn-s3-demo-bucket包含物件test.txt和test2.txt。目前的本機目錄沒有檔案:aws s3 syncs3://amzn-s3-demo-bucket.輸出:
download: s3://amzn-s3-demo-bucket/test.txt to test.txt download: s3://amzn-s3-demo-bucket/test2.txt to test2.txt範例 4:將所有本機物件同步至指定的儲存貯體,並刪除不相符的所有檔案
下列
sync命令會將指定字首和儲存貯體下的物件同步至本機目錄中的檔案,方法是將本機檔案上傳至 S3。由於--delete參數,在指定字首和儲存貯體下存在但本機目錄中不存在的任何檔案都會遭到刪除。在此範例中,使用者會將儲存貯體同步amzn-s3-demo-bucket至本機目前的目錄。本機目前目錄包含 檔案test.txt和test2.txt。儲存貯體amzn-s3-demo-bucket包含物件test3.txt:aws s3 sync.s3://amzn-s3-demo-bucket\ --delete輸出:
upload: test.txt to s3://amzn-s3-demo-bucket/test.txt upload: test2.txt to s3://amzn-s3-demo-bucket/test2.txt delete: s3://amzn-s3-demo-bucket/test3.txt範例 5:將所有本機物件同步至指定的儲存貯體,但 ``.jpg`` 檔案除外
下列
sync命令會將指定字首和儲存貯體下的物件同步至本機目錄中的檔案,方法是將本機檔案上傳至 S3。由於--exclude參數,符合 S3 和本機中現有模式的所有檔案都會從同步中排除。在此範例中,使用者會將儲存貯體同步amzn-s3-demo-bucket至本機目前的目錄。本機目前目錄包含 檔案test.jpg和test2.txt。儲存貯體amzn-s3-demo-bucket包含與本機test.jpg大小不同的物件test.jpg:aws s3 sync.s3://amzn-s3-demo-bucket\ --exclude"*.jpg"輸出:
upload: test2.txt to s3://amzn-s3-demo-bucket/test2.txt範例 6:將所有本機物件同步至指定的儲存貯體,但指定的目錄檔案除外
下列
sync命令會透過下載 S3 物件,將本機目錄下的檔案同步至指定字首和儲存貯體下的物件。此範例使用--exclude參數旗標,從sync命令中排除指定的目錄和 S3 字首。在此範例中,使用者會將本機目前目錄同步至儲存貯體amzn-s3-demo-bucket。本機目前目錄包含 檔案test.txt和another/test2.txt。儲存貯體amzn-s3-demo-bucket包含物件another/test5.txt和test1.txt:aws s3 syncs3://amzn-s3-demo-bucket/.\ --exclude"*another/*"輸出:
download: s3://amzn-s3-demo-bucket/test1.txt to test1.txt範例 7:同步不同區域中儲存貯體之間的所有物件
下列
sync命令會同步不同區域中兩個儲存貯體之間的檔案:aws s3 syncs3://my-us-west-2-buckets3://my-us-east-1-bucket\ --source-regionus-west-2\ --regionus-east-1輸出:
download: s3://my-us-west-2-bucket/test1.txt to s3://my-us-east-1-bucket/test1.txt範例 8:同步至 S3 存取點
下列
sync命令會將目前的目錄同步至存取點 (myaccesspoint):aws s3 sync.s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/輸出:
upload: test.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/test.txt upload: test2.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/test2.txt-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的同步
。
-
以下程式碼範例顯示如何使用 upload-part-copy。
- AWS CLI
-
將現有物件中的資料複製為資料來源,以上傳部分物件
下列
upload-part-copy範例會將現有物件中的資料複製為資料來源,以上傳組件。aws s3api upload-part-copy \ --bucketamzn-s3-demo-bucket\ --key"Map_Data_June.mp4"\ --copy-source"amzn-s3-demo-bucket/copy_of_Map_Data_June.mp4"\ --part-number1\ --upload-id"bq0tdE1CDpWQYRPLHuNG50xAT6pA5D.m_RiBy0ggOH6b13pVRY7QjvLlf75iFdJqp_2wztk5hvpUM2SesXgrzbehG5hViyktrfANpAD0NO.Nk3XREBqvGeZF6U3ipiSm"輸出:
{ "CopyPartResult": { "LastModified": "2019-12-13T23:16:03.000Z", "ETag": "\"711470fc377698c393d94aed6305e245\"" } }-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 UploadPartCopy
。
-
以下程式碼範例顯示如何使用 upload-part。
- AWS CLI
-
下列命令會上傳使用
create-multipart-upload命令起始的分段上傳中的第一個部分:aws s3api upload-part --bucketamzn-s3-demo-bucket--key 'multipart/01' --part-number1--bodypart01--upload-id"dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R"body選項會取得本機檔案的名稱或路徑以進行上傳 (請勿使用 檔案:// 字首)。最小部分大小為 5 MB。上傳 ID 由 傳回create-multipart-upload,也可以使用 擷取list-multipart-uploads。當您建立分段上傳時,會指定儲存貯體和金鑰。輸出:
{ "ETag": "\"e868e0f4719e394144ef36531ee6824c\"" }儲存每個部分的 ETag 值以供稍後使用。它們需要完成分段上傳。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 UploadPart
。
-
以下程式碼範例顯示如何使用 website。
- AWS CLI
-
將 S3 儲存貯體設定為靜態網站
下列命令會將名為靜態網站的儲存貯
amzn-s3-demo-bucket體設定為靜態網站。索引文件選項指定amzn-s3-demo-bucket訪客在導覽至網站 URL 時將導向至其中的檔案。在此情況下,儲存貯體位於 us-west-2 區域,因此網站會出現在http://amzn-s3-demo-bucket.s3-website-us-west-2.amazonaws.com。出現在靜態網站上之儲存貯體中的所有檔案必須設定為允許訪客開啟。檔案許可會與儲存貯體網站組態分開設定。
aws s3 websites3://amzn-s3-demo-bucket/\ --index-documentindex.html\ --error-documenterror.html如需有關在 Amazon S3 中託管靜態網站的資訊,請參閱《Amazon Simple Storage Service 開發人員指南》中的託管靜態網站。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的網站
。
-