本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 的 Amazon S3 範例 AWS CLI
下列程式碼範例示範如何搭配 Amazon S3 AWS Command Line Interface 使用 來執行動作和實作常見案例。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會示範如何呼叫個別服務函數,但您可以在相關案例中查看內容中的動作。
每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。
主題
動作
下列程式碼範例示範如何使用 abort-multipart-upload
。
- AWS CLI
-
若要中止指定的分段上傳
下列
abort-multipart-upload
命令會中止儲存貯體multipart/01
中金鑰的分段上傳my-bucket
。aws s3api abort-multipart-upload \ --bucket
my-bucket
\ --keymultipart/01
\ --upload-iddfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R
此命令所需的上傳 ID 由 輸出,
create-multipart-upload
也可以使用 擷取list-multipart-uploads
。-
如需API詳細資訊,請參閱 命令參考 AbortMultipartUpload
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 complete-multipart-upload
。
- AWS CLI
-
下列命令會完成儲存貯體
multipart/01
中金鑰的分段上傳my-bucket
:aws s3api complete-multipart-upload --multipart-upload
file://mpustruct
--bucketmy-bucket
--key 'multipart/01
' --upload-iddfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R
此命令所需的上傳 ID 由 輸出,
create-multipart-upload
也可以使用 擷取list-multipart-uploads
。上述命令中的分段上傳選項採用的JSON結構描述了應該重新組裝到完整檔案中的分段上傳的部分。在此範例中,字
file://
首用於從名為 的本機資料夾中的檔案載入JSON結構mpustruct
。mpustruct:
{ "Parts": [ { "ETag": "e868e0f4719e394144ef36531ee6824c", "PartNumber": 1 }, { "ETag": "6bb2b12753d66fe86da4998aa33fffb0", "PartNumber": 2 }, { "ETag": "d0a0112e841abec9c9ec83406f0159c8", "PartNumber": 3 } ] }
每次使用
upload-part
命令上傳零件時,都會輸出每個部分的ETag值,也可以呼叫list-parts
或計算每個部分的MD5檢查總和來擷取。輸出:
{ "ETag": "\"3944a9f7a4faab7f78788ff6210f63f0-3\"", "Bucket": "my-bucket", "Location": "https://my-bucket.s3.amazonaws.com/multipart%2F01", "Key": "multipart/01" }
-
如需API詳細資訊,請參閱 命令參考 CompleteMultipartUpload
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 copy-object
。
- AWS CLI
-
下列命令會將物件從 複製到
bucket-1
bucket-2
:aws s3api copy-object --copy-source
bucket-1/test.txt
--keytest.txt
--bucketbucket-2
輸出:
{ "CopyObjectResult": { "LastModified": "2015-11-10T01:07:25.000Z", "ETag": "\"589c8b79c230a6ecd5a7e1d040a9a030\"" }, "VersionId": "YdnYvTCVDqRRFA.NFJjy36p0hxifMlkA" }
-
如需API詳細資訊,請參閱 命令參考 CopyObject
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 cp
。
- AWS CLI
-
範例 1:將本機檔案複製到 S3
下列
cp
命令會將單一檔案複製到指定的儲存貯體和金鑰:aws s3 cp
test.txt
s3://mybucket/test2.txt
輸出:
upload: test.txt to s3://mybucket/test2.txt
範例 2:將本機檔案複製到具有過期日期的 S3
下列
cp
命令會將單一檔案複製到指定的儲存貯體和金鑰,其過期時間是指定的 ISO 8601 時間戳記:aws s3 cp
test.txt
s3://mybucket/test2.txt
\ --expires2014-10-01T20:30:00Z
輸出:
upload: test.txt to s3://mybucket/test2.txt
範例 3:將檔案從 S3 複製到 S3
下列
cp
命令會將單一 s3 物件複製到指定的儲存貯體和金鑰:aws s3 cp
s3://mybucket/test.txt
s3://mybucket/test2.txt
輸出:
copy: s3://mybucket/test.txt to s3://mybucket/test2.txt
範例 4:將 S3 物件複製到本機檔案
下列
cp
命令會將單一物件複製到本機指定的檔案:aws s3 cp
s3://mybucket/test.txt
test2.txt
輸出:
download: s3://mybucket/test.txt to test2.txt
範例 5:將 S3 物件從一個儲存貯體複製到另一個儲存貯體
下列
cp
命令會將單一物件複製到指定的儲存貯體,同時保留其原始名稱:aws s3 cp
s3://mybucket/test.txt
s3://mybucket2/
輸出:
copy: s3://mybucket/test.txt to s3://mybucket2/test.txt
範例 6:遞迴複製 S3 物件至本機目錄
與 參數 一起傳遞時
--recursive
,下列cp
命令會遞迴地將所有指定字首和儲存貯體下的物件複製到指定的目錄。在此範例中,儲存貯體mybucket
具有物件test1.txt
和test2.txt
:aws s3 cp
s3://mybucket
.
\ --recursive輸出:
download: s3://mybucket/test1.txt to test1.txt download: s3://mybucket/test2.txt to test2.txt
範例 7:遞迴複製本機檔案至 S3
與 參數 一起傳遞時
--recursive
,下列cp
命令會遞迴地將指定目錄下的所有檔案複製到指定的儲存貯體和字首,同時使用--exclude
參數排除某些檔案。在此範例中,目錄myDir
具有 檔案test1.txt
和test2.jpg
:aws s3 cp
myDir
s3://mybucket/
\ --recursive \ --exclude"*.jpg"
輸出:
upload: myDir/test1.txt to s3://mybucket/test1.txt
範例 8:遞迴複製 S3 物件至另一個儲存貯體
與 參數 一起傳遞時
--recursive
,下列cp
命令會遞迴地將指定儲存貯體下的所有物件複製到另一個儲存貯體,同時使用--exclude
參數排除某些物件。在此範例中,儲存貯體mybucket
具有物件test1.txt
和another/test1.txt
:aws s3 cp
s3://mybucket/
s3://mybucket2/
\ --recursive \ --exclude"another/*"
輸出:
copy: s3://mybucket/test1.txt to s3://mybucket2/test1.txt
您可以合併
--exclude
和--include
選項,以僅複製符合模式的物件,不包括所有其他物件:aws s3 cp
s3://mybucket/logs/
s3://mybucket2/logs/
\ --recursive \ --exclude"*"
\ --include"*.log"
輸出:
copy: s3://mybucket/logs/test/test.log to s3://mybucket2/logs/test/test.log copy: s3://mybucket/logs/test3.log to s3://mybucket2/logs/test3.log
範例 9:在複製 S3 物件時設定存取控制清單 (ACL)
下列
cp
命令會將 設定為 時,會將單一物件複製到指定的儲存貯體和金鑰ACLpublic-read-write
:aws s3 cp
s3://mybucket/test.txt
s3://mybucket/test2.txt
\ --aclpublic-read-write
輸出:
copy: s3://mybucket/test.txt to s3://mybucket/test2.txt
請注意,如果您使用
--acl
選項,請確保任何相關聯的IAM政策都包含"s3:PutObjectAcl"
動作:aws iam get-user-policy \ --user-name
myuser
\ --policy-namemypolicy
輸出:
{ "UserName": "myuser", "PolicyName": "mypolicy", "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::mybucket/*" ], "Effect": "Allow", "Sid": "Stmt1234567891234" } ] } }
範例 10:授予 S3 物件的許可
下列
cp
命令說明--grants
選項的用途,以將讀取存取權授予 識別的所有使用者,URI並將完全控制權授予 識別的 Canonical ID 識別的特定使用者:aws s3 cp
file.txt
s3://mybucket/
--grantsread=uri=http://acs.amazonaws.com/groups/global/AllUsers
full=id=79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
輸出:
upload: file.txt to s3://mybucket/file.txt
範例 11:將本機檔案串流上傳至 S3
PowerShell 可能會變更 的編碼,或CRLF將 新增至管道輸入。
下列
cp
命令會將本機檔案串流從標準輸入上傳至指定的儲存貯體和金鑰:aws s3 cp
-
s3://mybucket/stream.txt
範例 12:將大於 50GB 的本機檔案串流上傳至 S3
下列
cp
命令會將 51GB 本機檔案串流從標準輸入上傳至指定的儲存貯體和金鑰。必須提供--expected-size
選項,否則在達到預設的 10,000 部分限制時,上傳可能會失敗:aws s3 cp
-
s3://mybucket/stream.txt
--expected-size54760833024
範例 13:將 S3 物件下載為本機檔案串流
PowerShell 可能會變更 的編碼,或CRLF將 新增至管道或重新導向的輸出。
下列
cp
命令會在本機將 S3 物件下載為標準輸出的串流。下載為串流目前與--recursive
參數不相容:aws s3 cp
s3://mybucket/stream.txt
-
範例 14:上傳至 S3 存取點
下列
cp
命令會將單一檔案 (mydoc.txt
) 上傳到金鑰 () 的存取點 (myaccesspoint
)mykey
:aws s3 cp
mydoc.txt
s3://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 cp
s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey
mydoc.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
範例會建立名為 的儲存貯體my-bucket
:aws s3api create-bucket \ --bucket
my-bucket
\ --regionus-east-1
輸出:
{ "Location": "/my-bucket" }
如需詳細資訊,請參閱 Amazon S3 使用者指南 中的建立儲存貯體。
範例 2:在擁有者強制執行的情況下建立儲存貯體
下列
create-bucket
範例會建立名為 的儲存貯體my-bucket
,使用 S3 物件擁有權的儲存貯體擁有者強制執行設定。aws s3api create-bucket \ --bucket
my-bucket
\ --regionus-east-1
\ --object-ownershipBucketOwnerEnforced
輸出:
{ "Location": "/my-bucket" }
如需詳細資訊,請參閱 Amazon S3 使用者指南 中的控制物件的擁有權和停用ACLs。
範例 3:在 ``us-east-1`` 區域之外建立儲存貯體
下列
create-bucket
範例會在eu-west-1
區域中建立名為my-bucket
的儲存貯體。以外的區域us-east-1
需要LocationConstraint
指定適當的 ,才能在所需區域中建立儲存貯體。aws s3api create-bucket \ --bucket
my-bucket
\ --regioneu-west-1
\ --create-bucket-configurationLocationConstraint=eu-west-1
輸出:
{ "Location": "http://my-bucket.s3.amazonaws.com/" }
如需詳細資訊,請參閱 Amazon S3 使用者指南 中的建立儲存貯體。
-
如需API詳細資訊,請參閱 命令參考 CreateBucket
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 create-multipart-upload
。
- AWS CLI
-
下列命令會使用
my-bucket
金鑰在儲存貯體中建立分段上傳multipart/01
:aws s3api create-multipart-upload --bucket
my-bucket
--key 'multipart/01
'輸出:
{ "Bucket": "my-bucket", "UploadId": "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R", "Key": "multipart/01" }
完成的檔案會在儲存貯
01
體multipart
中名為 的資料夾中命名my-bucket
。儲存上傳 ID、金鑰和儲存貯體名稱,以便與upload-part
命令搭配使用。-
如需API詳細資訊,請參閱 命令參考 CreateMultipartUpload
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 delete-bucket-analytics-configuration
。
- AWS CLI
-
刪除儲存貯體的分析組態
下列
delete-bucket-analytics-configuration
範例會移除指定儲存貯體和 ID 的分析組態。aws s3api delete-bucket-analytics-configuration \ --bucket
my-bucket
\ --id1
此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 DeleteBucketAnalyticsConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 delete-bucket-cors
。
- AWS CLI
-
下列命令會從名為 的儲存貯體中刪除跨來源資源共用組態
my-bucket
:aws s3api delete-bucket-cors --bucket
my-bucket
-
如需API詳細資訊,請參閱 命令參考 DeleteBucketCors
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 delete-bucket-encryption
。
- AWS CLI
-
刪除儲存貯體的伺服器端加密組態
下列
delete-bucket-encryption
範例會刪除指定儲存貯體的伺服器端加密組態。aws s3api delete-bucket-encryption \ --bucket
my-bucket
此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 DeleteBucketEncryption
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 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 \ --bucket
DOC-EXAMPLE-BUCKET
\ --idExampleConfig
此命令不會產生輸出。
如需詳細資訊,請參閱 Amazon S3 使用者指南 中的使用 S3 Intelligent-Tiering。 Amazon S3
-
如需API詳細資訊,請參閱 命令參考 DeleteBucketIntelligentTieringConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 delete-bucket-inventory-configuration
。
- AWS CLI
-
若要刪除儲存貯體的庫存組態
下列
delete-bucket-inventory-configuration
範例會刪除具有指定儲存貯體 ID1
的庫存組態。aws s3api delete-bucket-inventory-configuration \ --bucket
my-bucket
\ --id1
此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 DeleteBucketInventoryConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 delete-bucket-lifecycle
。
- AWS CLI
-
下列命令會從名為 的儲存貯體中刪除生命週期組態
my-bucket
:aws s3api delete-bucket-lifecycle --bucket
my-bucket
-
如需API詳細資訊,請參閱 命令參考 DeleteBucketLifecycle
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 delete-bucket-metrics-configuration
。
- AWS CLI
-
刪除儲存貯體的指標組態
下列
delete-bucket-metrics-configuration
範例會移除指定儲存貯體和 ID 的指標組態。aws s3api delete-bucket-metrics-configuration \ --bucket
my-bucket
\ --id123
此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 DeleteBucketMetricsConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 delete-bucket-ownership-controls
。
- AWS CLI
-
若要移除儲存貯體的儲存貯體擁有權設定
下列
delete-bucket-ownership-controls
範例會移除儲存貯體的儲存貯體擁有權設定。aws s3api delete-bucket-ownership-controls \ --bucket
DOC-EXAMPLE-BUCKET
此命令不會產生輸出。
如需詳細資訊,請參閱 Amazon S3 使用者指南 中的在現有儲存貯體上設定物件擁有權。
-
如需API詳細資訊,請參閱 命令參考 DeleteBucketOwnershipControls
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 delete-bucket-policy
。
- AWS CLI
-
下列命令會從名為 的儲存貯體中刪除儲存貯體政策
my-bucket
:aws s3api delete-bucket-policy --bucket
my-bucket
-
如需API詳細資訊,請參閱 命令參考 DeleteBucketPolicy
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 delete-bucket-replication
。
- AWS CLI
-
下列命令會從名為 的儲存貯體中刪除複寫組態
my-bucket
:aws s3api delete-bucket-replication --bucket
my-bucket
-
如需API詳細資訊,請參閱 命令參考 DeleteBucketReplication
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 delete-bucket-tagging
。
- AWS CLI
-
下列命令會從名為 的儲存貯體中刪除標記組態
my-bucket
:aws s3api delete-bucket-tagging --bucket
my-bucket
-
如需API詳細資訊,請參閱 命令參考 DeleteBucketTagging
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 delete-bucket-website
。
- AWS CLI
-
下列命令會從名為 的儲存貯體中刪除網站組態
my-bucket
:aws s3api delete-bucket-website --bucket
my-bucket
-
如需API詳細資訊,請參閱 命令參考 DeleteBucketWebsite
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 delete-bucket
。
- AWS CLI
-
下列命令會刪除名為 的儲存貯體
my-bucket
:aws s3api delete-bucket --bucket
my-bucket
--regionus-east-1
-
如需API詳細資訊,請參閱 命令參考 DeleteBucket
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 delete-object-tagging
。
- AWS CLI
-
刪除物件的標籤集
下列
delete-object-tagging
範例會從物件 刪除具有指定金鑰的標籤doc1.rtf
。aws s3api delete-object-tagging \ --bucket
my-bucket
\ --keydoc1.rtf
此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 DeleteObjectTagging
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 delete-object
。
- AWS CLI
-
下列命令
test.txt
會從名為 的儲存貯體中刪除名為 的物件my-bucket
:aws s3api delete-object --bucket
my-bucket
--keytest.txt
如果已啟用儲存貯體版本控制,輸出將包含刪除標記的版本 ID:
{ "VersionId": "9_gKg5vG56F.TTEUdwkxGpJ3tNDlWlGq", "DeleteMarker": true }
如需刪除物件的詳細資訊,請參閱 Amazon S3 開發人員指南 中的刪除物件。
-
如需API詳細資訊,請參閱 命令參考 DeleteObject
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 delete-objects
。
- AWS CLI
-
下列命令會從名為 的儲存貯體中刪除物件
my-bucket
:aws s3api delete-objects --bucket
my-bucket
--deletefile://delete.json
delete.json
是目前目錄中JSON的文件,指定要刪除的物件:{ "Objects": [ { "Key": "test1.txt" } ], "Quiet": false }
輸出:
{ "Deleted": [ { "DeleteMarkerVersionId": "mYAT5Mc6F7aeUL8SS7FAAqUPO1koHwzU", "Key": "test1.txt", "DeleteMarker": true } ] }
-
如需API詳細資訊,請參閱 命令參考 DeleteObjects
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 delete-public-access-block
。
- AWS CLI
-
刪除儲存貯體的區塊公有存取組態
下列
delete-public-access-block
範例會移除指定儲存貯體上的區塊公有存取組態。aws s3api delete-public-access-block \ --bucket
my-bucket
此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 DeletePublicAccessBlock
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-accelerate-configuration
。
- AWS CLI
-
擷取儲存貯體的加速組態
下列
get-bucket-accelerate-configuration
範例會擷取指定儲存貯體的加速組態。aws s3api get-bucket-accelerate-configuration \ --bucket
my-bucket
輸出:
{ "Status": "Enabled" }
-
如需API詳細資訊,請參閱 命令參考 GetBucketAccelerateConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-acl
。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的存取控制清單
my-bucket
:aws s3api get-bucket-acl --bucket
my-bucket
輸出:
{ "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Grants": [ { "Grantee": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Permission": "FULL_CONTROL" } ] }
-
如需API詳細資訊,請參閱 命令參考 GetBucketAcl
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-analytics-configuration
。
- AWS CLI
-
擷取具有特定 ID 之儲存貯體的分析組態
下列
get-bucket-analytics-configuration
範例顯示指定儲存貯體和 ID 的分析組態。aws s3api get-bucket-analytics-configuration \ --bucket
my-bucket
\ --id1
輸出:
{ "AnalyticsConfiguration": { "StorageClassAnalysis": {}, "Id": "1" } }
-
如需API詳細資訊,請參閱 命令參考 GetBucketAnalyticsConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-cors
。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的跨來源資源共用組態
my-bucket
:aws s3api get-bucket-cors --bucket
my-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詳細資訊,請參閱 命令參考 GetBucketCors
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-encryption
。
- AWS CLI
-
擷取儲存貯體的伺服器端加密組態
下列
get-bucket-encryption
範例會擷取儲存貯體 的伺服器端加密組態my-bucket
。aws s3api get-bucket-encryption \ --bucket
my-bucket
輸出:
{ "ServerSideEncryptionConfiguration": { "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256" } } ] } }
-
如需API詳細資訊,請參閱 命令參考 GetBucketEncryption
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 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 \ --bucket
DOC-EXAMPLE-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詳細資訊,請參閱 命令參考 GetBucketIntelligentTieringConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-inventory-configuration
。
- AWS CLI
-
擷取儲存貯體的庫存組態
下列
get-bucket-inventory-configuration
範例會擷取 ID 為 之指定儲存貯體的庫存組態1
。aws s3api get-bucket-inventory-configuration \ --bucket
my-bucket
\ --id1
輸出:
{ "InventoryConfiguration": { "IsEnabled": true, "Destination": { "S3BucketDestination": { "Format": "ORC", "Bucket": "arn:aws:s3:::my-bucket", "AccountId": "123456789012" } }, "IncludedObjectVersions": "Current", "Id": "1", "Schedule": { "Frequency": "Weekly" } } }
-
如需API詳細資訊,請參閱 命令參考 GetBucketInventoryConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-lifecycle-configuration
。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的生命週期組態
my-bucket
:aws s3api get-bucket-lifecycle-configuration --bucket
my-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詳細資訊,請參閱 命令參考 GetBucketLifecycleConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-lifecycle
。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的生命週期組態
my-bucket
:aws s3api get-bucket-lifecycle --bucket
my-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詳細資訊,請參閱 命令參考 GetBucketLifecycle
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-location
。
- AWS CLI
-
如果存在限制
my-bucket
,下列命令會擷取名為 之儲存貯體的位置限制條件:aws s3api get-bucket-location --bucket
my-bucket
輸出:
{ "LocationConstraint": "us-west-2" }
-
如需API詳細資訊,請參閱 命令參考 GetBucketLocation
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-logging
。
- AWS CLI
-
擷取儲存貯體的記錄狀態
下列
get-bucket-logging
範例會擷取指定儲存貯體的記錄狀態。aws s3api get-bucket-logging \ --bucket
my-bucket
輸出:
{ "LoggingEnabled": { "TargetPrefix": "", "TargetBucket": "my-bucket-logs" } }
-
如需API詳細資訊,請參閱 命令參考 GetBucketLogging
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-metrics-configuration
。
- AWS CLI
-
擷取具有特定 ID 之儲存貯體的指標組態
下列
get-bucket-metrics-configuration
範例顯示指定儲存貯體和 ID 的指標組態。aws s3api get-bucket-metrics-configuration \ --bucket
my-bucket
\ --id123
輸出:
{ "MetricsConfiguration": { "Filter": { "Prefix": "logs" }, "Id": "123" } }
-
如需API詳細資訊,請參閱 命令參考 GetBucketMetricsConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-notification-configuration
。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的通知組態
my-bucket
:aws s3api get-bucket-notification-configuration --bucket
my-bucket
輸出:
{ "TopicConfigurations": [ { "Id": "YmQzMmEwM2EjZWVlI0NGItNzVtZjI1MC00ZjgyLWZDBiZWNl", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-notification-topic", "Events": [ "s3:ObjectCreated:*" ] } ] }
-
如需API詳細資訊,請參閱 命令參考 GetBucketNotificationConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-notification
。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的通知組態
my-bucket
:aws s3api get-bucket-notification --bucket
my-bucket
輸出:
{ "TopicConfiguration": { "Topic": "arn:aws:sns:us-west-2:123456789012:my-notification-topic", "Id": "YmQzMmEwM2EjZWVlI0NGItNzVtZjI1MC00ZjgyLWZDBiZWNl", "Event": "s3:ObjectCreated:*", "Events": [ "s3:ObjectCreated:*" ] } }
-
如需API詳細資訊,請參閱 命令參考 GetBucketNotification
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-ownership-controls
。
- AWS CLI
-
擷取儲存貯體的儲存貯體擁有權設定
下列
get-bucket-ownership-controls
範例會擷取儲存貯體的儲存貯體擁有權設定。aws s3api get-bucket-ownership-controls \ --bucket
DOC-EXAMPLE-BUCKET
輸出:
{ "OwnershipControls": { "Rules": [ { "ObjectOwnership": "BucketOwnerEnforced" } ] } }
如需詳細資訊,請參閱 Amazon S3 使用者指南 中的檢視 S3 儲存貯體的物件擁有權設定。 Amazon S3
-
如需API詳細資訊,請參閱 命令參考 GetBucketOwnershipControls
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-policy-status
。
- AWS CLI
-
擷取儲存貯體的政策狀態,指出儲存貯體是否為公有
下列
get-bucket-policy-status
範例會擷取儲存貯體 的政策狀態my-bucket
。aws s3api get-bucket-policy-status \ --bucket
my-bucket
輸出:
{ "PolicyStatus": { "IsPublic": false } }
-
如需API詳細資訊,請參閱 命令參考 GetBucketPolicyStatus
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-policy
。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的儲存貯體政策
my-bucket
:aws s3api get-bucket-policy --bucket
my-bucket
輸出:
{ "Policy": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::my-bucket/*\"},{\"Sid\":\"\",\"Effect\":\"Deny\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::my-bucket/secret/*\"}]}" }
policyThe 取得並放置儲存貯體的範例示範如何下載 Amazon S3 儲存貯體政策、修改檔案,然後使用
put-bucket-policy
套用修改後的儲存貯體政策。若要將儲存貯體政策下載至檔案,您可以執行:aws s3api get-bucket-policy --bucket mybucket --query Policy --output text > policy.json
然後,您可以視需要修改
policy.json
檔案。最後,您可以執行下列動作,將此修改後的政策套用回 S3 儲存貯體:policy.json
檔案。最後,您可以執行下列動作,將此修改後的政策套用回 S3 儲存貯體:檔案。最後,您可以執行下列動作,將此修改後的政策套用回 S3 儲存貯體:
aws s3api put-bucket-policy --bucket mybucket --policy file://policy.json
-
如需API詳細資訊,請參閱 命令參考 GetBucketPolicy
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-replication
。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的複寫組態
my-bucket
:aws s3api get-bucket-replication --bucket
my-bucket
輸出:
{ "ReplicationConfiguration": { "Rules": [ { "Status": "Enabled", "Prefix": "", "Destination": { "Bucket": "arn:aws:s3:::my-bucket-backup", "StorageClass": "STANDARD" }, "ID": "ZmUwNzE4ZmQ4tMjVhOS00MTlkLOGI4NDkzZTIWJjNTUtYTA1" } ], "Role": "arn:aws:iam::123456789012:role/s3-replication-role" } }
-
如需API詳細資訊,請參閱 命令參考 GetBucketReplication
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-request-payment
。
- AWS CLI
-
擷取儲存貯體的請求付款組態
下列
get-bucket-request-payment
範例會擷取請求者支付指定儲存貯體的組態。aws s3api get-bucket-request-payment \ --bucket
my-bucket
輸出:
{ "Payer": "BucketOwner" }
-
如需API詳細資訊,請參閱 命令參考 GetBucketRequestPayment
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-tagging
。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的標記組態
my-bucket
:aws s3api get-bucket-tagging --bucket
my-bucket
輸出:
{ "TagSet": [ { "Value": "marketing", "Key": "organization" } ] }
-
如需API詳細資訊,請參閱 命令參考 GetBucketTagging
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-versioning
。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的版本控制組態
my-bucket
:aws s3api get-bucket-versioning --bucket
my-bucket
輸出:
{ "Status": "Enabled" }
-
如需API詳細資訊,請參閱 命令參考 GetBucketVersioning
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-bucket-website
。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體的靜態網站組態
my-bucket
:aws s3api get-bucket-website --bucket
my-bucket
輸出:
{ "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } }
-
如需API詳細資訊,請參閱 命令參考 GetBucketWebsite
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-object-acl
。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體中物件的存取控制清單
my-bucket
:aws s3api get-object-acl --bucket
my-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詳細資訊,請參閱 命令參考 GetObjectAcl
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-object-attributes
。
- AWS CLI
-
從物件擷取中繼資料,而不傳回物件本身
下列
get-object-attributes
範例會從物件 擷取中繼資料doc1.rtf
。aws s3api get-object-attributes \ --bucket
my-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詳細資訊,請參閱 命令參考 GetObjectAttributes
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-object-legal-hold
。
- AWS CLI
-
擷取物件的法務保存狀態
下列
get-object-legal-hold
範例會擷取指定物件的法務保存狀態。aws s3api get-object-legal-hold \ --bucket
my-bucket-with-object-lock
\ --keydoc1.rtf
輸出:
{ "LegalHold": { "Status": "ON" } }
-
如需API詳細資訊,請參閱 命令參考 GetObjectLegalHold
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-object-lock-configuration
。
- AWS CLI
-
擷取儲存貯體的物件鎖定組態
下列
get-object-lock-configuration
範例會擷取指定儲存貯體的物件鎖定組態。aws s3api get-object-lock-configuration \ --bucket
my-bucket-with-object-lock
輸出:
{ "ObjectLockConfiguration": { "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 } } } }
-
如需API詳細資訊,請參閱 命令參考 GetObjectLockConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-object-retention
。
- AWS CLI
-
擷取物件的物件保留組態
下列
get-object-retention
範例會擷取指定物件的物件保留組態。aws s3api get-object-retention \ --bucket
my-bucket-with-object-lock
\ --keydoc1.rtf
輸出:
{ "Retention": { "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00.000Z" } }
-
如需API詳細資訊,請參閱 命令參考 GetObjectRetention
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-object-tagging
。
- AWS CLI
-
擷取連接至物件的標籤
下列
get-object-tagging
範例會從指定的物件擷取指定金鑰的值。aws s3api get-object-tagging \ --bucket
my-bucket
\ --keydoc1.rtf
輸出:
{ "TagSet": [ { "Value": "confidential", "Key": "designation" } ] }
下列
get-object-tagging
範例會嘗試擷取doc2.rtf
沒有標籤的物件 的標籤集。aws s3api get-object-tagging \ --bucket
my-bucket
\ --keydoc2.rtf
輸出:
{ "TagSet": [] }
下列
get-object-tagging
範例會擷取doc3.rtf
具有多個標籤的物件 的標籤集。aws s3api get-object-tagging \ --bucket
my-bucket
\ --keydoc3.rtf
輸出:
{ "TagSet": [ { "Value": "confidential", "Key": "designation" }, { "Value": "finance", "Key": "department" }, { "Value": "payroll", "Key": "team" } ] }
-
如需API詳細資訊,請參閱 命令參考 GetObjectTagging
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-object-torrent
。
- AWS CLI
-
下列命令會為名為 的儲存貯體中的物件建立 torrent
my-bucket
:aws s3api get-object-torrent --bucket
my-bucket
--keylarge-video-file.mp4
large-video-file.torrent
Torrent 檔案會儲存在本機目前的資料夾中。請注意,輸出檔案名稱 (
large-video-file.torrent
) 的指定沒有選項名稱,且必須是命令中的最後一個引數。-
如需API詳細資訊,請參閱 命令參考 GetObjectTorrent
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-object
。
- AWS CLI
-
下列範例使用
get-object
命令從 Amazon S3 下載物件:aws s3api get-object --bucket
text-content
--keydir/my_images.tar.bz2
my_images.tar.bz2
請注意,指定 Outfile 參數時不會包含選項名稱,例如 "--outfile"。輸出檔案的名稱必須是 命令中的最後一個參數。
以下範例示範使用
--range
從物件下載特定位元組範圍。請注意,位元組範圍需要以 "bytes=":aws s3api get-object --bucket
text-content
--keydir/my_data
--rangebytes=8888-9999
my_data_range
如需擷取物件的詳細資訊,請參閱 Amazon S3 開發人員指南 中的取得物件。
-
如需API詳細資訊,請參閱 命令參考 GetObject
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 get-public-access-block
。
- AWS CLI
-
設定或修改儲存貯體的區塊公有存取組態
下列
get-public-access-block
範例顯示指定儲存貯體的區塊公有存取組態。aws s3api get-public-access-block \ --bucket
my-bucket
輸出:
{ "PublicAccessBlockConfiguration": { "IgnorePublicAcls": true, "BlockPublicPolicy": true, "BlockPublicAcls": true, "RestrictPublicBuckets": true } }
-
如需API詳細資訊,請參閱 命令參考 GetPublicAccessBlock
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 head-bucket
。
- AWS CLI
-
下列命令會驗證對名為 之儲存貯體的存取
my-bucket
:aws s3api head-bucket --bucket
my-bucket
如果儲存貯體存在且您可以存取,則不會傳回輸出。否則會顯示錯誤訊息。例如:
A client error (404) occurred when calling the HeadBucket operation: Not Found
-
如需API詳細資訊,請參閱 命令參考 HeadBucket
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 head-object
。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體中物件的中繼資料
my-bucket
:aws s3api head-object --bucket
my-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詳細資訊,請參閱 命令參考 HeadObject
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 list-bucket-analytics-configurations
。
- AWS CLI
-
擷取儲存貯體的分析組態清單
以下內容會
list-bucket-analytics-configurations
擷取指定儲存貯體的分析組態清單。aws s3api list-bucket-analytics-configurations \ --bucket
my-bucket
輸出:
{ "AnalyticsConfigurationList": [ { "StorageClassAnalysis": {}, "Id": "1" } ], "IsTruncated": false }
-
如需API詳細資訊,請參閱 命令參考 ListBucketAnalyticsConfigurations
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 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 \ --bucket
DOC-EXAMPLE-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詳細資訊,請參閱 命令參考 ListBucketIntelligentTieringConfigurations
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 list-bucket-inventory-configurations
。
- AWS CLI
-
擷取儲存貯體的庫存組態清單
下列
list-bucket-inventory-configurations
範例列出指定儲存貯體的庫存組態。aws s3api list-bucket-inventory-configurations \ --bucket
my-bucket
輸出:
{ "InventoryConfigurationList": [ { "IsEnabled": true, "Destination": { "S3BucketDestination": { "Format": "ORC", "Bucket": "arn:aws:s3:::my-bucket", "AccountId": "123456789012" } }, "IncludedObjectVersions": "Current", "Id": "1", "Schedule": { "Frequency": "Weekly" } }, { "IsEnabled": true, "Destination": { "S3BucketDestination": { "Format": "CSV", "Bucket": "arn:aws:s3:::my-bucket", "AccountId": "123456789012" } }, "IncludedObjectVersions": "Current", "Id": "2", "Schedule": { "Frequency": "Daily" } } ], "IsTruncated": false }
-
如需API詳細資訊,請參閱 命令參考 ListBucketInventoryConfigurations
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 list-bucket-metrics-configurations
。
- AWS CLI
-
擷取儲存貯體的指標組態清單
下列
list-bucket-metrics-configurations
範例會擷取指定儲存貯體的指標組態清單。aws s3api list-bucket-metrics-configurations \ --bucket
my-bucket
輸出:
{ "IsTruncated": false, "MetricsConfigurationList": [ { "Filter": { "Prefix": "logs" }, "Id": "123" }, { "Filter": { "Prefix": "tmp" }, "Id": "234" } ] }
-
如需API詳細資訊,請參閱 命令參考 ListBucketMetricsConfigurations
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 list-buckets
。
- AWS CLI
-
下列命令使用
list-buckets
命令來顯示所有 Amazon S3 儲存貯體的名稱 (跨所有區域):aws s3api list-buckets --query
"Buckets[].Name"
查詢選項會將 的輸出
list-buckets
向下篩選為僅儲存貯體名稱。如需儲存貯體的詳細資訊,請參閱Amazon S3 開發人員指南中的使用 Amazon S3 儲存貯體。
-
如需API詳細資訊,請參閱 命令參考 ListBuckets
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 list-multipart-uploads
。
- AWS CLI
-
下列命令會列出名為 之儲存貯體的所有作用中分段上傳
my-bucket
:aws s3api list-multipart-uploads --bucket
my-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詳細資訊,請參閱 命令參考 ListMultipartUploads
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 list-object-versions
。
- AWS CLI
-
下列命令會擷取名為 之儲存貯體中物件的版本資訊
my-bucket
:aws s3api list-object-versions --bucket
my-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詳細資訊,請參閱 命令參考 ListObjectVersions
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 list-objects-v2
。
- AWS CLI
-
若要取得儲存貯體中的物件清單
下列
list-objects-v2
範例列出指定儲存貯體中的物件。aws s3api list-objects-v2 \ --bucket
my-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 --bucket
text-content
--query 'Contents[].{Key: Key, Size: Size}
'此範例使用
--query
引數,將 的輸出list-objects
篩選為每個物件的鍵值和大小如需物件的詳細資訊,請參閱Amazon S3 開發人員指南中的使用 Amazon S3 物件。
-
如需API詳細資訊,請參閱 命令參考 ListObjects
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 list-parts
。
- AWS CLI
-
下列命令會列出在儲存貯體
multipart/01
中使用 金鑰上傳分段上傳的所有部分my-bucket
:aws s3api list-parts --bucket
my-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詳細資訊,請參閱 命令參考 ListParts
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 ls
。
- AWS CLI
-
範例 1:列出所有使用者擁有的儲存貯體
下列
ls
命令會列出使用者擁有的所有儲存貯體。在此範例中,使用者擁有儲存貯體mybucket
和mybucket2
。時間戳記是建立儲存貯體的日期,顯示在機器的時區中。此日期可能會在變更儲存貯體時變更,例如編輯儲存貯體政策。請注意,如果s3://
用於路徑引數<S3Uri>
,它也會列出所有儲存貯體。aws s3 ls
輸出:
2013-07-11 17:08:50 mybucket 2013-07-24 14:55:44 mybucket2
範例 2:列出儲存貯體中的所有字首和物件
下列
ls
命令會在指定的儲存貯體和字首下列出物件和常用字首。在此範例中,使用者擁有mybucket
具有物件test.txt
和 的儲存貯體somePrefix/test.txt
。LastWriteTime
和Length
是任意的。請注意,由於ls
命令與本機檔案系統沒有互動,因此不需要s3://
URI配置來解決模稜兩可的情況,而且可以省略。aws s3 ls
s3://mybucket
輸出:
PRE somePrefix/ 2013-07-25 17:06:27 88 test.txt
範例 3:列出特定儲存貯體和字首中的所有字首和物件
下列
ls
命令會在指定的儲存貯體和字首下列出物件和常用字首。不過,指定的儲存貯體和字首下沒有物件或一般字首。aws s3 ls
s3://mybucket/noExistPrefix
輸出:
None
範例 4:遞迴列出儲存貯體中的所有字首和物件
下列
ls
命令將遞迴列出儲存貯體中的物件。儲存貯體中的所有內容將依序列出,而不是顯示在輸出PRE dirname/
中。aws s3 ls
s3://mybucket
\ --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 ls
s3://mybucket
\ --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 ls
s3://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
命令會建立儲存貯體。在此範例中,使用者會製作儲存貯體mybucket
。儲存貯體是在使用者組態檔案中指定的區域中建立:aws s3 mb
s3://mybucket
輸出:
make_bucket: s3://mybucket
範例 2:在指定區域中建立儲存貯體
下列
mb
命令會在--region
參數指定的區域中建立儲存貯體。在此範例中,使用者在 區域製作儲存貯mybucket
體us-west-1
:aws s3 mb
s3://mybucket
\ --regionus-west-1
輸出:
make_bucket: s3://mybucket
-
如需API詳細資訊,請參閱 AWS CLI 命令參考 中的 Mb
。
-
下列程式碼範例示範如何使用 mv
。
- AWS CLI
-
範例 1:將本機檔案移至指定的儲存貯體
下列
mv
命令會將單一檔案移至指定的儲存貯體和金鑰。aws s3 mv
test.txt
s3://mybucket/test2.txt
輸出:
move: test.txt to s3://mybucket/test2.txt
範例 2:將物件移至指定的儲存貯體和金鑰
下列
mv
命令會將單一 s3 物件移至指定的儲存貯體和金鑰。aws s3 mv
s3://mybucket/test.txt
s3://mybucket/test2.txt
輸出:
move: s3://mybucket/test.txt to s3://mybucket/test2.txt
範例 3:將 S3 物件移至本機目錄
下列
mv
命令會將單一物件移至本機指定的檔案。aws s3 mv
s3://mybucket/test.txt
test2.txt
輸出:
move: s3://mybucket/test.txt to test2.txt
範例 4:將具有原始名稱的物件移至指定的儲存貯體
下列
mv
命令會將單一物件移至指定的儲存貯體,同時保留其原始名稱:aws s3 mv
s3://mybucket/test.txt
s3://mybucket2/
輸出:
move: s3://mybucket/test.txt to s3://mybucket2/test.txt
範例 5:將儲存貯體中的所有物件和字首移至本機目錄
與 參數 一起傳遞時
--recursive
,下列mv
命令會遞迴地將所有指定字首和儲存貯體下的物件移至指定的目錄。在此範例中,儲存貯體mybucket
具有物件test1.txt
和test2.txt
。aws s3 mv
s3://mybucket
.
\ --recursive輸出:
move: s3://mybucket/test1.txt to test1.txt move: s3://mybucket/test2.txt to test2.txt
範例 6:將儲存貯體中的所有物件和字首移至本機目錄,但 ``.jpg`` 檔案除外
與 參數 一起傳遞時
--recursive
,下列mv
命令會遞迴移動指定目錄下的所有檔案至指定的儲存貯體和字首,同時使用--exclude
參數排除某些檔案。在此範例中,目錄myDir
具有 檔案test1.txt
和test2.jpg
。aws s3 mv
myDir
s3://mybucket/
\ --recursive \ --exclude"*.jpg"
輸出:
move: myDir/test1.txt to s3://mybucket2/test1.txt
範例 7:將儲存貯體中的所有物件和字首移至本機目錄,指定的字首除外
與 參數 一起傳遞時
--recursive
,下列mv
命令會遞迴移動指定儲存貯體下的所有物件至另一個儲存貯體,同時使用--exclude
參數排除某些物件。在此範例中,儲存貯體mybucket
具有物件test1.txt
和another/test1.txt
。aws s3 mv
s3://mybucket/
s3://mybucket2/
\ --recursive \ --exclude"mybucket/another/*"
輸出:
move: s3://mybucket/test1.txt to s3://mybucket2/test1.txt
範例 8:將物件移至指定的儲存貯體,並設定 ACL
下列
mv
命令會將 設定為 時,將單一物件移至指定的儲存貯體和金鑰ACLpublic-read-write
。aws s3 mv
s3://mybucket/test.txt
s3://mybucket/test2.txt
\ --aclpublic-read-write
輸出:
move: s3://mybucket/test.txt to s3://mybucket/test2.txt
範例 9:將本機檔案移至指定的儲存貯體並授予許可
下列
mv
命令說明--grants
選項的使用,將讀取存取權授予所有使用者,並完全控制由其電子郵件地址識別的特定使用者。aws s3 mv
file.txt
s3://mybucket/
\ --grantsread=uri=http://acs.amazonaws.com/groups/global/AllUsers
full=emailaddress=user@example.com
輸出:
move: file.txt to s3://mybucket/file.txt
範例 10:將檔案移至 S3 存取點
下列
mv
命令mydoc.txt
會將名為 的單一檔案移至名為 的金鑰myaccesspoint
上名為 的存取點mykey
。aws s3 mv
mydoc.txt
s3://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:建立預先簽章URL,其中包含 S3 儲存貯體中連結至物件的預設一小時生命週期
下列
presign
命令URL會為指定儲存貯體和金鑰產生預先簽章,有效期間為一小時。aws s3 presign
s3://DOC-EXAMPLE-BUCKET/test2.txt
輸出:
https://DOC-EXAMPLE-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:建立URL預先簽署的自訂存留期,連結至 S3 儲存貯體中的物件
下列
presign
命令URL會針對一週內有效的指定儲存貯體和金鑰產生預先簽章。aws s3 presign
s3://DOC-EXAMPLE-BUCKET/test2.txt
\ --expires-in604800
輸出:
https://DOC-EXAMPLE-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 \ --bucket
my-bucket
\ --accelerate-configurationStatus=Enabled
此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 PutBucketAccelerateConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-bucket-acl
。
- AWS CLI
-
此範例
full control
會授予兩個 AWS 使用者 (user1@example.com 和 user2@example.com) 和read
權限給所有人:aws s3api put-bucket-acl --bucket
MyBucket
--grant-full-controlemailaddress=user1@example.com,emailaddress=user2@example.com
--grant-readuri=http://acs.amazonaws.com/groups/global/AllUsers
如需自訂的詳細資訊,請參閱 http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html ACLs(s3api ACL命令,例如
put-bucket-acl
,使用相同的短期引數符號)。-
如需API詳細資訊,請參閱 命令參考 PutBucketAcl
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-bucket-analytics-configuration
。
- AWS CLI
-
設定儲存貯體的分析組態
下列
put-bucket-analytics-configuration
範例會設定指定儲存貯體的分析。aws s3api put-bucket-analytics-configuration \ --bucket
my-bucket
--id1
\ --analytics-configuration '{"Id": "1","StorageClassAnalysis": {}}
'此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 PutBucketAnalyticsConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-bucket-cors
。
- AWS CLI
-
下列範例會啟用來自 www.example.com
PUT
的POST
、 和DELETE
請求,並啟用來自任何網域的GET
請求:aws s3api put-bucket-cors --bucket
MyBucket
--cors-configurationfile://cors.json
cors.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詳細資訊,請參閱 命令參考 PutBucketCors
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-bucket-encryption
。
- AWS CLI
-
設定儲存貯體的伺服器端加密
下列
put-bucket-encryption
範例會將AES256加密設定為指定儲存貯體的預設值。aws s3api put-bucket-encryption \ --bucket
my-bucket
\ --server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "AES256"}}]}
'此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 PutBucketEncryption
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 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 \ --bucket
DOC-EXAMPLE-BUCKET
\ --id"ExampleConfig"
\ --intelligent-tiering-configurationfile://intelligent-tiering-configuration.json
intelligent-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詳細資訊,請參閱 命令參考 PutBucketIntelligentTieringConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-bucket-inventory-configuration
。
- AWS CLI
-
範例 1:設定儲存貯體的庫存組態
下列
put-bucket-inventory-configuration
範例會設定儲存貯體 的每週 ORC格式化庫存報告my-bucket
。aws s3api put-bucket-inventory-configuration \ --bucket
my-bucket
\ --id1
\ --inventory-configuration '{"Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::my-bucket", "Format": "ORC" }}, "IsEnabled": true, "Id": "1", "IncludedObjectVersions": "Current", "Schedule": { "Frequency": "Weekly" }}
'此命令不會產生輸出。
範例 2:設定儲存貯體的庫存組態
下列
put-bucket-inventory-configuration
範例會為儲存貯體 設定每日CSV格式的庫存報告my-bucket
。aws s3api put-bucket-inventory-configuration \ --bucket
my-bucket
\ --id2
\ --inventory-configuration '{"Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::my-bucket", "Format": "CSV" }}, "IsEnabled": true, "Id": "2", "IncludedObjectVersions": "Current", "Schedule": { "Frequency": "Daily" }}
'此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 PutBucketInventoryConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-bucket-lifecycle-configuration
。
- AWS CLI
-
下列命令會將生命週期組態套用至名為 的儲存貯體
my-bucket
:aws s3api put-bucket-lifecycle-configuration --bucket
my-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" } ] }
第一個規則會在指定的日期將具有字首的檔案移至
rotated
Glacier。第二個規則會在舊物件版本不再是最新版本時,將舊物件版本移至 Glacier。如需可接受時間戳記格式的資訊,請參閱 AWS CLI 使用者指南 中的指定參數值。-
如需API詳細資訊,請參閱 命令參考 PutBucketLifecycleConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-bucket-lifecycle
。
- AWS CLI
-
下列命令會將生命週期組態套用至儲存貯體
my-bucket
:aws s3api put-bucket-lifecycle --bucket
my-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" } ] }
第一個規則會在六十天後將檔案移至 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詳細資訊,請參閱 命令參考 PutBucketLifecycle
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-bucket-logging
。
- AWS CLI
-
範例 1:設定儲存貯體政策記錄
下列
put-bucket-logging
範例會設定 的記錄政策MyBucket。首先,使用put-bucket-policy
命令在儲存貯體政策中授予記錄服務主體許可。aws s3api put-bucket-policy \ --bucket
MyBucket
\ --policyfile://policy.json
policy.json
的內容:{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3ServerAccessLogsPolicy", "Effect": "Allow", "Principal": {"Service": "logging.s3.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::MyBucket/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 \ --bucket
MyBucket
\ --bucket-logging-statusfile://logging.json
logging.json
的內容:{ "LoggingEnabled": { "TargetBucket": "MyBucket", "TargetPrefix": "Logs/" } }
需要
put-bucket-policy
命令才能將s3:PutObject
許可授予記錄服務主體。如需詳細資訊,請參閱 Amazon S3 使用者指南 中的 Amazon S3 伺服器存取日誌。 Amazon S3
範例 2:設定儲存貯體政策,以記錄僅單一使用者的存取
下列
put-bucket-logging
範例會設定 的記錄政策MyBucket。 AWS 使用者 bob@example.com 將完全控制日誌檔案,而且其他人都無法存取。首先,使用 授予 S3 許可put-bucket-acl
。aws s3api put-bucket-acl \ --bucket
MyBucket
\ --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 \ --bucket
MyBucket
\ --bucket-logging-statusfile://logging.json
logging.json
的內容:{ "LoggingEnabled": { "TargetBucket": "MyBucket", "TargetPrefix": "MyBucketLogs/", "TargetGrants": [ { "Grantee": { "Type": "AmazonCustomerByEmail", "EmailAddress": "bob@example.com" }, "Permission": "FULL_CONTROL" } ] } }
put-bucket-acl
命令是必要的,以授予 S3 的日誌交付系統必要的許可 (寫入和讀取 Ap 許可)。如需詳細資訊,請參閱 Amazon S3 開發人員指南 中的 Amazon S3 伺服器存取日誌。 Amazon S3
-
如需API詳細資訊,請參閱 命令參考 PutBucketLogging
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-bucket-metrics-configuration
。
- AWS CLI
-
設定儲存貯體的指標組態
下列
put-bucket-metrics-configuration
範例會為指定的儲存貯體設定 ID 為 123 的指標組態。aws s3api put-bucket-metrics-configuration \ --bucket
my-bucket
\ --id123
\ --metrics-configuration '{"Id": "123", "Filter": {"Prefix": "logs"}}
'此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 PutBucketMetricsConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-bucket-notification-configuration
。
- AWS CLI
-
啟用儲存貯體的指定通知
下列
put-bucket-notification-configuration
範例會將通知組態套用至名為 的儲存貯體my-bucket
。檔案notification.json
是目前資料夾中JSON的文件,指定要監控SNS的主題和事件類型。aws s3api put-bucket-notification-configuration \ --bucket
my-bucket
\ --notification-configurationfile://notification.json
notification.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:*:*:my-bucket" } } } ] }
-
如需API詳細資訊,請參閱 命令參考 PutBucketNotificationConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-bucket-notification
。
- AWS CLI
-
會將通知組態套用至名為 的儲存貯體
my-bucket
:aws s3api put-bucket-notification --bucket
my-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 主題必須連接允許 Amazon S3 發佈至其IAM的政策:
{ "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:my-bucket", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:my-bucket" } } } ] }
-
如需API詳細資訊,請參閱 命令參考 PutBucketNotification
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-bucket-ownership-controls
。
- AWS CLI
-
更新儲存貯體的儲存貯體擁有權設定
下列
put-bucket-ownership-controls
範例會更新儲存貯體的儲存貯體擁有權設定。aws s3api put-bucket-ownership-controls \ --bucket
DOC-EXAMPLE-BUCKET
\ --ownership-controls="Rules=[{ObjectOwnership=BucketOwnerEnforced}]"此命令不會產生輸出。
如需詳細資訊,請參閱 Amazon S3 使用者指南 中的在現有儲存貯體上設定物件擁有權。
-
如需API詳細資訊,請參閱 命令參考 PutBucketOwnershipControls
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-bucket-policy
。
- AWS CLI
-
此範例允許所有使用者擷取 中的任何物件,MyBucket除了 中的物件MySecretFolder。它還將
put
和delete
許可授予 AWS 帳戶的根使用者1234-5678-9012
:aws s3api put-bucket-policy --bucket
MyBucket
--policyfile://policy.json
policy.json:
{
"Statement":[
{
"Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource":"arn:aws:s3:::MyBucket/*"
},
{
"Effect": "Deny", "Principal": "*", "Action": "s3:GetObject", "Resource":"arn:aws:s3:::MyBucket/MySecretFolder/*"
},
{
"Effect": "Allow", "Principal":{
"AWS":"arn:aws:iam::123456789012:root"
},
"Action":[
"s3:DeleteObject","s3:PutObject"
],
"Resource":"arn:aws:s3:::MyBucket/*"
}
]
}
-
如需API詳細資訊,請參閱 命令參考 PutBucketPolicy
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-bucket-replication
。
- AWS CLI
-
設定 S3 儲存貯體的複寫
下列
put-bucket-replication
範例會將複寫組態套用至指定的 S3 儲存貯體。aws s3api put-bucket-replication \ --bucket
AWSDOC-EXAMPLE-BUCKET1
\ --replication-configurationfile://replication.json
replication.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:::AWSDOC-EXAMPLE-BUCKET2" } } ] }
目的地儲存貯體必須已啟用版本控制。指定的角色必須具有寫入目的地儲存貯體的許可,並具有允許 Amazon S3 擔任該角色的信任關係。
角色許可政策範例:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET1" ] }, { "Effect": "Allow", "Action": [ "s3:GetObjectVersion", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET1/*" ] }, { "Effect": "Allow", "Action": [ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Resource": "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET2/*" } ] }
信任關係政策範例:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
此命令不會產生輸出。
如需詳細資訊,請參閱 Amazon Simple Storage Service 主控台使用者指南 中的此主題標題。
-
如需API詳細資訊,請參閱 命令參考 PutBucketReplication
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-bucket-request-payment
。
- AWS CLI
-
範例 1:啟用儲存貯體的 ``requester pays`` 組態
下列
put-bucket-request-payment
範例requester pays
會針對指定的儲存貯體啟用 。aws s3api put-bucket-request-payment \ --bucket
my-bucket
\ --request-payment-configuration '{"Payer":"Requester"}
'此命令不會產生輸出。
範例 2:停用儲存貯體的 ``requester pays`` 組態
下列
put-bucket-request-payment
範例requester pays
會針對指定的儲存貯體停用 。aws s3api put-bucket-request-payment \ --bucket
my-bucket
\ --request-payment-configuration '{"Payer":"BucketOwner"}
'此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 PutBucketRequestPayment
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-bucket-tagging
。
- AWS CLI
-
下列命令會將標記組態套用至名為 的儲存貯體
my-bucket
:aws s3api put-bucket-tagging --bucket
my-bucket
--taggingfile://tagging.json
檔案
tagging.json
是目前資料夾中JSON的文件,指定標籤:{ "TagSet": [ { "Key": "organization", "Value": "marketing" } ] }
或
my-bucket
直接從命令列將標記組態套用至 :aws s3api put-bucket-tagging --bucket
my-bucket
--tagging 'TagSet=[{Key=organization,Value=marketing}]
'-
如需API詳細資訊,請參閱 命令參考 PutBucketTagging
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-bucket-versioning
。
- AWS CLI
-
下列命令會在名為 的儲存貯體上啟用版本控制
my-bucket
:aws s3api put-bucket-versioning --bucket
my-bucket
--versioning-configurationStatus=Enabled
下列命令會啟用版本控制,並使用 mfa 程式碼
aws s3api put-bucket-versioning --bucket
my-bucket
--versioning-configurationStatus=Enabled
--mfa"SERIAL 123456"
-
如需API詳細資訊,請參閱 命令參考 PutBucketVersioning
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-bucket-website
。
- AWS CLI
-
會將靜態網站組態套用至名為 的儲存貯體
my-bucket
:aws s3api put-bucket-website --bucket
my-bucket
--website-configurationfile://website.json
檔案
website.json
是目前資料夾中JSON的文件,用於指定網站的索引和錯誤頁面:{ "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } }
-
如需API詳細資訊,請參閱 命令參考 PutBucketWebsite
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-object-acl
。
- AWS CLI
-
下列命令
full control
會授予兩個 AWS 使用者 (user1@example.com 和 user2@example.com) 和read
許可給所有人:aws s3api put-object-acl --bucket
MyBucket
--keyfile.txt
--grant-full-controlemailaddress=user1@example.com,emailaddress=user2@example.com
--grant-readuri=http://acs.amazonaws.com/groups/global/AllUsers
如需自訂的詳細資訊,請參閱 http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html ACLs(s3api ACL命令,例如
put-object-acl
,使用相同的短期引數符號)。-
如需API詳細資訊,請參閱 命令參考 PutObjectAcl
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-object-legal-hold
。
- AWS CLI
-
將法務保存套用至物件
下列
put-object-legal-hold
範例會在物件 上設定法務保存doc1.rtf
。aws s3api put-object-legal-hold \ --bucket
my-bucket-with-object-lock
\ --keydoc1.rtf
\ --legal-holdStatus=ON
此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 PutObjectLegalHold
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-object-lock-configuration
。
- AWS CLI
-
在儲存貯體上設定物件鎖定組態
下列
put-object-lock-configuration
範例會在指定的儲存貯體上設定 50 天物件鎖定。aws s3api put-object-lock-configuration \ --bucket
my-bucket-with-object-lock
\ --object-lock-configuration '{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 }}}
'此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 PutObjectLockConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-object-retention
。
- AWS CLI
-
設定物件的物件保留組態
下列
put-object-retention
範例會設定指定物件的物件保留組態,直到 2025-01-01。aws s3api put-object-retention \ --bucket
my-bucket-with-object-lock
\ --keydoc1.rtf
\ --retention '{ "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00" }
'此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 PutObjectRetention
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-object-tagging
。
- AWS CLI
-
在物件上設定標籤
下列
put-object-tagging
範例會設定具有 金鑰的標籤,designation
以及指定物件confidential
上的 值。aws s3api put-object-tagging \ --bucket
my-bucket
\ --keydoc1.rtf
\ --tagging '{"TagSet": [{ "Key": "designation", "Value": "confidential" }]}
'此命令不會產生輸出。
下列
put-object-tagging
範例會在指定的物件上設定多個標籤集。aws s3api put-object-tagging \ --bucket
my-bucket-example
\ --keydoc3.rtf
\ --tagging '{"TagSet": [{ "Key": "designation", "Value": "confidential" }, { "Key": "department", "Value": "finance" }, { "Key": "team", "Value": "payroll" } ]}
'此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 PutObjectTagging
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-object
。
- AWS CLI
-
下列範例使用
put-object
命令將物件上傳至 Amazon S3:aws s3api put-object --bucket
text-content
--keydir-1/my_images.tar.bz2
--bodymy_images.tar.bz2
下列範例顯示影片檔案的上傳 (影片檔案是使用 Windows 檔案系統語法來指定。):
aws s3api put-object --bucket
text-content
--keydir-1/big-video-file.mp4
--body e:\media\videos\f-sharp-3-data-services.mp4如需上傳物件的詳細資訊,請參閱 Amazon S3 開發人員指南 中的上傳物件。
-
如需API詳細資訊,請參閱 命令參考 PutObject
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 put-public-access-block
。
- AWS CLI
-
設定儲存貯體的區塊公有存取組態
下列
put-public-access-block
範例會為指定的儲存貯體設定限制性區塊公有存取組態。aws s3api put-public-access-block \ --bucket
my-bucket
\ --public-access-block-configuration"BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true"
此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 PutPublicAccessBlock
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 rb
。
- AWS CLI
-
範例 1:刪除儲存貯體
下列
rb
命令會移除儲存貯體。在此範例中,使用者的儲存貯體為mybucket
。請注意,儲存貯體必須是空的,才能移除:aws s3 rb
s3://mybucket
輸出:
remove_bucket: mybucket
範例 2:強制刪除儲存貯體
下列
rb
命令會使用--force
參數,先移除儲存貯體中的所有物件,然後移除儲存貯體本身。在此範例中,使用者的儲存貯體為 ,mybucket
且 中的物件mybucket
為test1.txt
和test2.txt
:aws s3 rb
s3://mybucket
\ --force輸出:
delete: s3://mybucket/test1.txt delete: s3://mybucket/test2.txt remove_bucket: mybucket
-
如需API詳細資訊,請參閱 AWS CLI 命令參考 中的 Rb
。
-
下列程式碼範例示範如何使用 restore-object
。
- AWS CLI
-
建立物件的還原請求
下列
restore-object
範例會為儲存貯體還原指定的 Amazon S3 Glacier 物件my-glacier-bucket
10 天。aws s3api restore-object \ --bucket
my-glacier-bucket
\ --keydoc1.rtf
\ --restore-requestDays=10
此命令不會產生輸出。
-
如需API詳細資訊,請參閱 命令參考 RestoreObject
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 rm
。
- AWS CLI
-
範例 1:刪除 S3 物件
下列
rm
命令會刪除單一 s3 物件:aws s3 rm
s3://mybucket/test2.txt
輸出:
delete: s3://mybucket/test2.txt
範例 2:刪除儲存貯體中的所有內容
下列
rm
命令會在與 參數 一起傳遞時,遞迴刪除指定儲存貯體和字首下的所有物件--recursive
。在此範例中,儲存貯體mybucket
包含物件test1.txt
和test2.txt
:aws s3 rm
s3://mybucket
\ --recursive輸出:
delete: s3://mybucket/test1.txt delete: s3://mybucket/test2.txt
範例 3:刪除儲存貯體中的所有內容,但 ``.jpg`` 檔案除外
使用 參數
--recursive
排除某些物件時,下列rm
命令會遞迴刪除指定儲存貯體和字首下的所有物件--exclude
。在此範例中,儲存貯體mybucket
具有物件test1.txt
和test2.jpg
:aws s3 rm
s3://mybucket/
\ --recursive \ --exclude"*.jpg"
輸出:
delete: s3://mybucket/test1.txt
範例 4:刪除儲存貯體中的所有內容,指定字首下的物件除外
下列
rm
命令會在與 參數一起傳遞時,遞迴刪除指定儲存貯體和字首下的所有物件,--recursive
同時使用--exclude
參數排除特定字首下的所有物件。在此範例中,儲存貯體mybucket
具有物件test1.txt
和another/test.txt
:aws s3 rm
s3://mybucket/
\ --recursive \ --exclude"another/*"
輸出:
delete: s3://mybucket/test1.txt
範例 5:從 S3 存取點刪除物件
下列
rm
命令會從存取點 (mykey
) 刪除單一物件 (myaccesspoint
)。::下列rm
命令會從存取點 (mykey
) 刪除單一物件 ()myaccesspoint
。aws s3 rm
s3://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
範例會使用指定的SQL陳述式篩選物件my-data-file.csv
,並將輸出傳送至 檔案。aws s3api select-object-content \ --bucket
my-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詳細資訊,請參閱 命令參考 SelectObjectContent
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 sync
。
- AWS CLI
-
範例 1:將所有本機物件同步至指定的儲存貯體
下列
sync
命令會透過將本機檔案上傳至 S3,將物件從本機目錄同步至指定的字首和儲存貯體。如果本機檔案的大小與 S3 物件的大小不同、本機檔案的上次修改時間比 S3 物件的上次修改時間更新,或本機檔案不存在於指定的儲存貯體和字首下方,則需要上傳本機檔案。在此範例中,使用者會將儲存貯體同步mybucket
至本機目前目錄。本機目前目錄包含 檔案test.txt
和test2.txt
。儲存貯體mybucket
不包含物件。aws s3 sync
.
s3://mybucket
輸出:
upload: test.txt to s3://mybucket/test.txt upload: test2.txt to s3://mybucket/test2.txt
範例 2:將所有 S3 物件從指定的 S3 儲存貯體同步到另一個儲存貯體
下列
sync
命令會透過複製 S3 物件,將指定字首和儲存貯體下的物件同步至另一個指定字首和儲存貯體下的物件。如果兩個 S3S3 物件的大小不同、來源的上次修改時間比目的地的上次修改時間更新,或 S3 物件不存在於指定的儲存貯體和字首目的地下方,則 S3 物件將需要複製。在此範例中,使用者會將儲存貯體同步
mybucket
至儲存貯體mybucket2
。儲存貯體mybucket
包含物件test.txt
和test2.txt
。儲存貯體mybucket2
不包含物件:aws s3 sync
s3://mybucket
s3://mybucket2
輸出:
copy: s3://mybucket/test.txt to s3://mybucket2/test.txt copy: s3://mybucket/test2.txt to s3://mybucket2/test2.txt
範例 3:將所有 S3 物件從指定的 S3 儲存貯體同步至本機目錄
下列
sync
命令會透過下載 S3 物件,將檔案從指定的 S3 儲存貯體同步到本機目錄。如果 S3S3 物件的大小與本機檔案的大小不同、S3 物件的上次修改時間比本機檔案的上次修改時間更新,或本機目錄中不存在 S3 物件,則 S3 物件將需要下載。請注意,從 S3 下載物件時,本機檔案的上次修改時間會變更為 S3 物件的上次修改時間。在此範例中,使用者會將儲存貯體同步mybucket
至目前的本機目錄。儲存貯體mybucket
包含物件test.txt
和test2.txt
。目前的本機目錄沒有檔案:aws s3 sync
s3://mybucket
.
輸出:
download: s3://mybucket/test.txt to test.txt download: s3://mybucket/test2.txt to test2.txt
範例 4:將所有本機物件同步至指定的儲存貯體,並刪除不相符的所有檔案
下列
sync
命令會將指定字首和儲存貯體下的物件同步至本機目錄中的檔案,方法是將本機檔案上傳至 S3。由於--delete
參數,任何存在於指定字首和儲存貯體下但本機目錄中不存在的檔案都會遭到刪除。在此範例中,使用者會將儲存貯體同步mybucket
至本機目前目錄。本機目前目錄包含 檔案test.txt
和test2.txt
。儲存貯體mybucket
包含物件test3.txt
:aws s3 sync
.
s3://mybucket
\ --delete輸出:
upload: test.txt to s3://mybucket/test.txt upload: test2.txt to s3://mybucket/test2.txt delete: s3://mybucket/test3.txt
範例 5:將所有本機物件同步至指定的儲存貯體,但 ``.jpg`` 檔案除外
下列
sync
命令會將指定字首和儲存貯體下的物件同步至本機目錄中的檔案,方法是將本機檔案上傳至 S3。由於--exclude
參數,所有符合 S3 和本機中現有模式的檔案都會從同步中排除。在此範例中,使用者會將儲存貯體同步mybucket
至本機目前目錄。本機目前目錄包含 檔案test.jpg
和test2.txt
。儲存貯體mybucket
包含與本機test.jpg
大小不同的物件test.jpg
:aws s3 sync
.
s3://mybucket
\ --exclude"*.jpg"
輸出:
upload: test2.txt to s3://mybucket/test2.txt
範例 6:將所有本機物件同步至指定的儲存貯體,但 ``.jpg`` 檔案除外
下列
sync
命令會透過下載 S3 物件,將本機目錄下的檔案同步至指定字首和儲存貯體下的物件。此範例使用--exclude
參數旗標,從sync
命令中排除指定的目錄和 S3 字首。在此範例中,使用者會將本機目前目錄同步至儲存貯體mybucket
。本機目前目錄包含 檔案test.txt
和another/test2.txt
。儲存貯體mybucket
包含物件another/test5.txt
和test1.txt
:aws s3 sync
s3://mybucket/
.
\ --exclude"*another/*"
輸出:
download: s3://mybucket/test1.txt to test1.txt
範例 7:同步不同區域中儲存貯體之間的所有物件
下列
sync
命令會同步不同區域中兩個儲存貯體之間的檔案:aws s3 sync
s3://my-us-west-2-bucket
s3://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 \ --bucket
my-bucket
\ --key"Map_Data_June.mp4"
\ --copy-source"my-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詳細資訊,請參閱 命令參考 UploadPartCopy
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 upload-part
。
- AWS CLI
-
下列命令會上傳使用
create-multipart-upload
命令起始的分段上傳中的第一個部分:aws s3api upload-part --bucket
my-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詳細資訊,請參閱 命令參考 UploadPart
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 website
。
- AWS CLI
-
將 S3 儲存貯體設定為靜態網站
下列命令會設定
my-bucket
名為靜態網站的儲存貯體。索引文件選項指定訪客導覽至網站 時,將導向到my-bucket
其中的檔案URL。在此情況下,儲存貯體位於 us-west-2 區域中,因此網站會出現在http://my-bucket.s3-website-us-west-2.amazonaws.com
。出現在靜態網站上的儲存貯體中的所有檔案都必須設定為允許訪客開啟。檔案許可會與儲存貯體網站組態分開設定。
aws s3 website
s3://my-bucket/
\ --index-documentindex.html
\ --error-documenterror.html
如需在 Amazon S3 中託管靜態網站的資訊,請參閱 Amazon Simple Storage Service 開發人員指南 中的託管靜態網站。
-
如需API詳細資訊,請參閱 AWS CLI 命令參考 中的網站
。
-