Doc AWS SDK ExamplesWord リポジトリには、さらに多くの GitHub の例があります。 AWS SDK
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用した Amazon S3 の例 AWS CLI
次のコード例は、Amazon S3 AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。
アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。
各例には、完全なソースコードへのリンクが含まれています。ここでは、コンテキストでコードを設定および実行する方法の手順を確認できます。
トピック
アクション
次のコード例は、abort-multipart-upload
を使用する方法を示しています。
- AWS CLI
-
指定したマルチパートアップロードを中止するには
次の
abort-multipart-upload
コマンドは、バケットmy-bucket
内のキーmultipart/01
のマルチパートアップロードを中止します。aws s3api abort-multipart-upload \ --bucket
my-bucket
\ --keymultipart/01
\ --upload-iddfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R
このコマンドに必要なアップロード ID
create-multipart-upload
はによって出力され、list-multipart-uploads
で取得することもできます。-
API の詳細については、AWS CLI 「 コマンドリファレンス」のAbortMultipartUpload
」を参照してください。
-
次の例は、complete-multipart-upload
を使用する方法を説明しています。
- AWS CLI
-
次のコマンドは、バケット
my-bucket
内のキーmultipart/01
のマルチパートアップロードを完了します。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 } ] }
各パートの ETag 値は、
upload-part
コマンドを使用してパートをアップロードするたびに出力されます。また、 を呼び出すlist-parts
か、各パートの MD5 チェックサムを取得して計算することもできます。出力:
{ "ETag": "\"3944a9f7a4faab7f78788ff6210f63f0-3\"", "Bucket": "my-bucket", "Location": "https://my-bucket.s3.amazonaws.com/multipart%2F01", "Key": "multipart/01" }
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のCompleteMultipartUpload
」を参照してください。
-
次のコード例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のCopyObject
」を参照してください。
-
次の例は、cp
を使用する方法を説明しています。
- AWS CLI
-
例 1: ローカルファイルを S3 にコピーする
次の
cp
コマンドは、指定されたバケットとキーに 1 つのファイルをコピーします。aws s3 cp
test.txt
s3://mybucket/test2.txt
出力:
upload: test.txt to s3://mybucket/test2.txt
例 2: 有効期限を持つローカルファイルを S3 にコピーする
次の
cp
コマンドは、指定された ISO 8601 タイムスタンプで期限切れになる指定されたバケットとキーに 1 つのファイルをコピーします。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
コマンドは、1 つのオブジェクトを指定したファイルにローカルにコピーします。aws s3 cp
s3://mybucket/test.txt
test2.txt
出力:
download: s3://mybucket/test.txt to test2.txt
例 5: あるバケットから別のバケットに S3 オブジェクトをコピーする
次の
cp
コマンドは、元の名前を保持しながら、1 つのオブジェクトを指定バケットにコピーします。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
パラメータを使用して一部のファイルを除外しながら、指定されたディレクトリ内のすべてのファイルを指定されたバケットとプレフィックスに再帰的にコピーします。この例では、 ディレクトリに ファイルtest1.txt
とmyDir
があります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
コマンドは、ACL を に設定する際に、単一のオブジェクトを指定されたバケットとキーにコピーしますpublic-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
コマンドは、URI で識別されたすべてのユーザーに読み取りアクセスを付与する--grants
オプションの使用と、正規 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
) のアクセスポイント () に 1 つのファイル (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
の例は、S3 オブジェクトの所有権のバケット所有者の強制設定を使用して、my-bucket
という名前のバケットを作成します。aws s3api create-bucket \ --bucket
my-bucket
\ --regionus-east-1
\ --object-ownershipBucketOwnerEnforced
出力:
{ "Location": "/my-bucket" }
詳細については、Amazon S3 ユーザーガイドの「オブジェクトの所有権の制御」とACLs の無効化」を参照してください。 Amazon S3
例 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 の詳細については、 AWS CLI コマンドリファレンスの CreateBucket
を参照してください。
-
次のコード例は、create-multipart-upload
を使用する方法を示しています。
- AWS CLI
-
次のコマンドは、キー
multipart/01
を使用して、バケットmy-bucket
にマルチパートアップロードを作成します。aws s3api create-multipart-upload --bucket
my-bucket
--key 'multipart/01
'出力:
{ "Bucket": "my-bucket", "UploadId": "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R", "Key": "multipart/01" }
完成したファイルは、
my-bucket
バケット内のmultipart
というフォルダで01
という名前が付けられます。upload-part
コマンドで使用できるように、アップロード ID、キー、バケット名を保存します。-
API の詳細については、AWS CLI 「 コマンドリファレンス」のCreateMultipartUpload
」を参照してください。
-
次の例は、delete-bucket-analytics-configuration
を使用する方法を説明しています。
- AWS CLI
-
バケットの分析設定を削除するには
次の
delete-bucket-analytics-configuration
の例では、指定されたバケットと ID の分析設定を削除します。aws s3api delete-bucket-analytics-configuration \ --bucket
my-bucket
\ --id1
このコマンドでは何も出力されません。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDeleteBucketAnalyticsConfiguration
」を参照してください。
-
次の例は、delete-bucket-cors
を使用する方法を説明しています。
- AWS CLI
-
次のコマンドは、
my-bucket
という名前のバケットから Cross-Origin Resource Sharing 設定を削除します。aws s3api delete-bucket-cors --bucket
my-bucket
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDeleteBucketCors
」を参照してください。
-
次の例は、delete-bucket-encryption
を使用する方法を説明しています。
- AWS CLI
-
バケットのサーバー側の暗号化設定を削除するには
次の
delete-bucket-encryption
の例では、指定したバケットのサーバー側の暗号化設定を削除します。aws s3api delete-bucket-encryption \ --bucket
my-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 \ --bucket
DOC-EXAMPLE-BUCKET
\ --idExampleConfig
このコマンドでは何も出力されません。
詳細については、Amazon S3 ユーザーガイドの「S3 Intelligent-Tiering の使用」を参照してください。 Amazon S3
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDeleteBucketIntelligentTieringConfiguration
」を参照してください。
-
次の例は、delete-bucket-inventory-configuration
を使用する方法を説明しています。
- AWS CLI
-
バケットのインベントリ設定を削除するには
次の
delete-bucket-inventory-configuration
の例では、指定したバケットで ID1
を持つインベントリ設定を削除します。aws s3api delete-bucket-inventory-configuration \ --bucket
my-bucket
\ --id1
このコマンドでは何も出力されません。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDeleteBucketInventoryConfiguration
」を参照してください。
-
次のコード例は、delete-bucket-lifecycle
を使用する方法を示しています。
- AWS CLI
-
次のコマンドは、
my-bucket
という名前のバケットからライフサイクル設定を削除します。aws s3api delete-bucket-lifecycle --bucket
my-bucket
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDeleteBucketLifecycle
」を参照してください。
-
次のコード例は、delete-bucket-metrics-configuration
を使用する方法を示しています。
- AWS CLI
-
バケットのメトリクス設定を削除するには
次の
delete-bucket-metrics-configuration
の例では、指定したバケットと ID のメトリクス設定を削除します。aws s3api delete-bucket-metrics-configuration \ --bucket
my-bucket
\ --id123
このコマンドでは何も出力されません。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDeleteBucketMetricsConfiguration
」を参照してください。
-
次の例は、delete-bucket-ownership-controls
を使用する方法を説明しています。
- AWS CLI
-
バケットのバケット所有権設定を削除するには
次の
delete-bucket-ownership-controls
例では、バケットのバケット所有権設定を削除します。aws s3api delete-bucket-ownership-controls \ --bucket
DOC-EXAMPLE-BUCKET
このコマンドでは何も出力されません。
詳細については、Amazon S3 ユーザーガイドの「既存のバケットのオブジェクト所有権の設定」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDeleteBucketOwnershipControls
」を参照してください。
-
次のコード例は、delete-bucket-policy
を使用する方法を示しています。
- AWS CLI
-
次のコマンドは、
my-bucket
という名前のバケットからバケットポリシーを削除します。aws s3api delete-bucket-policy --bucket
my-bucket
-
API の詳細については、 AWS CLI コマンドリファレンスの DeleteBucketPolicy
を参照してください。
-
次のコード例は、delete-bucket-replication
を使用する方法を示しています。
- AWS CLI
-
次のコマンドは、
my-bucket
という名前のバケットからレプリケーションの設定を削除します。aws s3api delete-bucket-replication --bucket
my-bucket
-
API の詳細については、 AWS CLI コマンドリファレンスの DeleteBucketReplication
を参照してください。
-
次の例は、delete-bucket-tagging
を使用する方法を説明しています。
- AWS CLI
-
次のコマンドは、
my-bucket
という名前のバケットからタグの設定を削除します。aws s3api delete-bucket-tagging --bucket
my-bucket
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDeleteBucketTagging
」を参照してください。
-
次のコード例は、delete-bucket-website
を使用する方法を示しています。
- AWS CLI
-
次のコマンドは、
my-bucket
という名前のバケットからウェブサイト設定を削除します。aws s3api delete-bucket-website --bucket
my-bucket
-
API の詳細については、 AWS CLI コマンドリファレンスの DeleteBucketWebsite
を参照してください。
-
次のコード例は、delete-bucket
を使用する方法を示しています。
- AWS CLI
-
次のコマンドは、
my-bucket
という名前のバケットを削除します。aws s3api delete-bucket --bucket
my-bucket
--regionus-east-1
-
API の詳細については、 AWS CLI コマンドリファレンスの DeleteBucket
を参照してください。
-
次のコード例は、delete-object-tagging
を使用する方法を示しています。
- AWS CLI
-
オブジェクトのタグセットを削除するには
次の
delete-object-tagging
の例では、指定したキーを持つタグをオブジェクトdoc1.rtf
から削除します。aws s3api delete-object-tagging \ --bucket
my-bucket
\ --keydoc1.rtf
このコマンドでは何も出力されません。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDeleteObjectTagging
」を参照してください。
-
次の例は、delete-object
を使用する方法を説明しています。
- AWS CLI
-
次のコマンドは、
my-bucket
という名前のバケットからtest.txt
という名前のオブジェクトを削除します。aws s3api delete-object --bucket
my-bucket
--keytest.txt
バケットバージョニングが有効になっている場合、出力には削除マーカーのバージョン ID が含まれます。
{ "VersionId": "9_gKg5vG56F.TTEUdwkxGpJ3tNDlWlGq", "DeleteMarker": true }
オブジェクトの削除の詳細については、「Amazon S3 ユーザーガイド」の「オブジェクトの削除」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDeleteObject
」を参照してください。
-
次の例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のDeleteObjects
」を参照してください。
-
次の例は、delete-public-access-block
を使用する方法を説明しています。
- AWS CLI
-
バケットのブロックパブリックアクセス設定を削除するには
次の
delete-public-access-block
の例では、指定したバケットのブロックパブリックアクセス設定を削除します。aws s3api delete-public-access-block \ --bucket
my-bucket
このコマンドでは何も出力されません。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDeletePublicAccessBlock
」を参照してください。
-
次のコード例は、get-bucket-accelerate-configuration
を使用する方法を示しています。
- AWS CLI
-
バケットの加速設定を取得するには
次の
get-bucket-accelerate-configuration
の例では、指定したバケットの加速設定を取得します。aws s3api get-bucket-accelerate-configuration \ --bucket
my-bucket
出力:
{ "Status": "Enabled" }
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketAccelerateConfiguration
」を参照してください。
-
次の例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketAcl
」を参照してください。
-
次の例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketAnalyticsConfiguration
」を参照してください。
-
次のコード例は、get-bucket-cors
を使用する方法を示しています。
- AWS CLI
-
次のコマンドは、
my-bucket
という名前のバケットの Cross-Origin Resource Sharing 設定を取得します。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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketCors
」を参照してください。
-
次の例は、get-bucket-encryption
を使用する方法を説明しています。
- AWS CLI
-
バケットのサーバー側の暗号化設定を取得するには
次の
get-bucket-encryption
の例では、バケットmy-bucket
のサーバー側の暗号化設定を取得します。aws s3api get-bucket-encryption \ --bucket
my-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 \ --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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketIntelligentTieringConfiguration
」を参照してください。
-
次のコード例は、get-bucket-inventory-configuration
を使用する方法を示しています。
- AWS CLI
-
バケットのインベントリ設定を取得するには
次の
get-bucket-inventory-configuration
の例では、ID1
を持つ指定したバケットのインベントリ設定を取得します。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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketInventoryConfiguration
」を参照してください。
-
次のコード例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketLifecycleConfiguration
」を参照してください。
-
次の例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketLifecycle
」を参照してください。
-
次の例は、get-bucket-location
を使用する方法を説明しています。
- AWS CLI
-
次のコマンドは、
my-bucket
という名前のバケットの場所の制約を取得します (制約が存在する場合)。aws s3api get-bucket-location --bucket
my-bucket
出力:
{ "LocationConstraint": "us-west-2" }
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketLocation
」を参照してください。
-
次のコード例は、get-bucket-logging
を使用する方法を示しています。
- AWS CLI
-
バケットのログ記録ステータスを取得するには
次の
get-bucket-logging
の例では、指定したバケットのログ記録ステータスを取得します。aws s3api get-bucket-logging \ --bucket
my-bucket
出力:
{ "LoggingEnabled": { "TargetPrefix": "", "TargetBucket": "my-bucket-logs" } }
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketLogging
」を参照してください。
-
次のコード例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketMetricsConfiguration
」を参照してください。
-
次の例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketNotificationConfiguration
」を参照してください。
-
次のコード例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketNotification
」を参照してください。
-
次の例は、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 の詳細については、 AWS CLI コマンドリファレンスのGetBucketOwnershipControls
」を参照してください。
-
次のコード例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketPolicyStatus
」を参照してください。
-
次のコード例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketPolicy
」を参照してください。
-
次の例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketReplication
」を参照してください。
-
次のコード例は、get-bucket-request-payment
を使用する方法を示しています。
- AWS CLI
-
バケットのリクエストの支払い設定を取得するには
次の
get-bucket-request-payment
の例では、指定したバケットのリクエスタ支払いの設定を取得します。aws s3api get-bucket-request-payment \ --bucket
my-bucket
出力:
{ "Payer": "BucketOwner" }
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketRequestPayment
」を参照してください。
-
次のコード例は、get-bucket-tagging
を使用する方法を示しています。
- AWS CLI
-
次のコマンドは、
my-bucket
という名前のバケットのタグ付け設定を取得します。aws s3api get-bucket-tagging --bucket
my-bucket
出力:
{ "TagSet": [ { "Value": "marketing", "Key": "organization" } ] }
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketTagging
」を参照してください。
-
次のコード例は、get-bucket-versioning
を使用する方法を示しています。
- AWS CLI
-
次のコマンドは、
my-bucket
という名前のバケットのバージョニング設定を取得します。aws s3api get-bucket-versioning --bucket
my-bucket
出力:
{ "Status": "Enabled" }
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketVersioning
」を参照してください。
-
次の例は、get-bucket-website
を使用する方法を説明しています。
- AWS CLI
-
次のコマンドは、
my-bucket
という名前のバケットの静的ウェブサイト設定を取得します。aws s3api get-bucket-website --bucket
my-bucket
出力:
{ "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } }
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のGetBucketWebsite
」を参照してください。
-
次の例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetObjectAcl
」を参照してください。
-
次の例は、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 GetObjectAttributes リファレンスのAPI」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のGetObjectAttributes
」を参照してください。
-
次のコード例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetObjectLegalHold
」を参照してください。
-
次のコード例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetObjectLockConfiguration
」を参照してください。
-
次のコード例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetObjectRetention
」を参照してください。
-
次の例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetObjectTagging
」を参照してください。
-
次のコード例は、get-object-torrent
を使用する方法を示しています。
- AWS CLI
-
次のコマンドは、 という名前のバケット内のオブジェクトのトレントを作成します
my-bucket
。aws s3api get-object-torrent --bucket
my-bucket
--keylarge-video-file.mp4
large-video-file.torrent
トレントファイルは、現在のフォルダにローカルで保存されます。出力ファイル名 (
large-video-file.torrent
) はオプション名なしで指定され、 コマンドの最後の引数である必要があります。-
API の詳細については、AWS CLI 「 コマンドリファレンス」のGetObjectTorrent
」を参照してください。
-
次の例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetObject
」を参照してください。
-
次のコード例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のGetPublicAccessBlock
」を参照してください。
-
次のコード例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のHeadBucket
」を参照してください。
-
次の例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のHeadObject
」を参照してください。
-
次のコード例は、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 の詳細については、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 \ --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 の詳細については、AWS CLI 「 コマンドリファレンス」のListBucketIntelligentTieringConfigurations
」を参照してください。
-
次のコード例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のListBucketInventoryConfigurations
」を参照してください。
-
次のコード例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のListBucketMetricsConfigurations
」を参照してください。
-
次の例は、list-buckets
を使用する方法を説明しています。
- AWS CLI
-
次のコマンドは、
list-buckets
コマンドを使用してすべての Amazon S3 バケット (すべてのリージョン) の名前を表示します。aws s3api list-buckets --query
"Buckets[].Name"
クエリオプションで
list-buckets
の出力をバケット名のみにフィルタリングします。バケットの詳細については、「Amazon S3 ユーザーガイド」の「バケットの使用」を参照してください。
-
API の詳細については、 AWS CLI コマンドリファレンスのListBuckets
」を参照してください。
-
次のコード例は、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 の詳細については、 AWS CLI コマンドリファレンスのListMultipartUploads
」を参照してください。
-
次のコード例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のListObjectVersions
」を参照してください。
-
次の例は、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 デベロッパーガイド」の「Working with Amazon S3 Objects」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のListObjects
」を参照してください。
-
次の例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のListParts
」を参照してください。
-
次の例は、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
コマンドは、指定されたバケットとプレフィックスの下にあるオブジェクトと一般的なプレフィックスを一覧表示します。この例では、ユーザーは オブジェクトtest.txt
とmybucket
を使用してバケットを所有しますsomePrefix/test.txt
。LastWriteTime
とLength
は任意です。ls
コマンドはローカルファイルシステムとやり取りしないため、あいまいさを解決するために URIs3://
スキームは必要ではなく、省略される場合があることに注意してください。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
コマンドは、1 つのファイルを指定されたバケットとキーに移動します。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
コマンドは、1 つのオブジェクトを指定したファイルにローカルに移動します。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
パラメータを使用して一部のファイルを除外しながら、指定されたディレクトリ内のすべてのファイルを指定されたバケットとプレフィックスに再帰的に移動します。この例では、 ディレクトリに ファイルtest1.txt
とmyDir
があります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
コマンドは、ACL を に設定する際に、単一のオブジェクトを指定されたバケットとキーに移動しますpublic-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
コマンドは、 という名前の キーmyaccesspoint
で という名前のアクセスポイントmydoc.txt
に という名前の単一のファイルを移動します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: S3 バケット内のオブジェクトにリンクするデフォルトの 1 時間の存続期間を持つ署名付き URL を作成するには
次の
presign
コマンドは、指定されたバケットと 1 時間有効なキーに対して署名付き 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: S3 バケット内のオブジェクトにリンクするカスタムライフタイムを持つ署名付き URL を作成するには
次の
presign
コマンドは、指定されたバケットと 1 週間有効なキーに対して署名付き 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 コマンドリファレンスの「Presign
」を参照してください。
-
次のコード例は、put-bucket-accelerate-configuration
を使用する方法を示しています。
- AWS CLI
-
バケットの加速設定を指定するには
次の
put-bucket-accelerate-configuration
の例では、指定したバケットの加速設定を有効にします。aws s3api put-bucket-accelerate-configuration \ --bucket
my-bucket
\ --accelerate-configurationStatus=Enabled
このコマンドでは何も出力されません。
-
API の詳細については、 AWS CLI コマンドリファレンスの PutBucketAccelerateConfiguration
を参照してください。
-
次のコード例は、put-bucket-acl
を使用する方法を示しています。
- AWS CLI
-
この例では
full control
、2 人の 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
カスタム ACLs の詳細については、http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html を参照してください ( などの s3api ACL コマンドは
put-bucket-acl
、同じ短い引数表記を使用します)。-
API の詳細については、 AWS CLI コマンドリファレンスの PutBucketAcl
を参照してください。
-
次の例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のPutBucketAnalyticsConfiguration
」を参照してください。
-
次の例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のPutBucketCors
」を参照してください。
-
次のコード例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のPutBucketEncryption
」を参照してください。
-
次の例は、put-bucket-intelligent-tiering-configuration
を使用する方法を説明しています。
- AWS CLI
-
バケットの S3 Intelligent-Tiering 設定を更新するには
次の
put-bucket-intelligent-tiering-configuration
例では、バケットで ExampleConfig という名前の S3 Intelligent-Tiering 設定を更新します。設定では、プレフィックスイメージでアクセスされていないオブジェクトは、90 日後にアーカイブアクセス、180 日後にディープアーカイブアクセスに移行されます。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 の詳細については、AWS CLI 「 コマンドリファレンス」のPutBucketIntelligentTieringConfiguration
」を参照してください。
-
次のコード例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のPutBucketInventoryConfiguration
」を参照してください。
-
次のコード例は、put-bucket-lifecycle-configuration
を使用する方法を示しています。
- AWS CLI
-
次のコマンドは、
my-bucket
という名前のバケットにライフサイクル設定を適用します。aws s3api put-bucket-lifecycle-configuration --bucket
my-bucket
--lifecycle-configurationfile://lifecycle.json
lifecycle.json
ファイルは、現在のフォルダ内の JSON ドキュメントで、次の 2 つのルールを指定します。{ "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" } ] }
1 つ目のルールは、指定した日付に、プレフィックス
rotated
の付いたファイルを Glacier に移動します。2 つ目のルールは、最新でない古いオブジェクトバージョンを Glacier に移動します。許容可能なタイムスタンプ形式の詳細については、AWS CLI ユーザーガイドの「パラメータ値の指定」を参照してください。-
API の詳細については、AWS CLI 「 コマンドリファレンス」のPutBucketLifecycleConfiguration
」を参照してください。
-
次の例は、put-bucket-lifecycle
を使用する方法を説明しています。
- AWS CLI
-
次のコマンドは、バケット にライフサイクル設定を適用します
my-bucket
。aws s3api put-bucket-lifecycle --bucket
my-bucket
--lifecycle-configurationfile://lifecycle.json
lifecycle.json
ファイルは、現在のフォルダ内の JSON ドキュメントで、次の 2 つのルールを指定します。{ "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 に移動します。2 番目のルールは、指定した日付に 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
例では、MyBucket のログ記録ポリシーを設定します。まず、バケットポリシーを使用して、ログ記録サービスプリンシパルに許可を付与します。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 Simple Storage Service ユーザーガイド」の「Amazon S3 サーバーアクセスのログ記録」を参照してください。
例 2: 1 人のユーザーのみにアクセスをログ記録するためのバケットポリシーを設定するには
次の
put-bucket-logging
例では、MyBucket のログ記録ポリシーを設定します。 AWS ユーザー bob@example.com はログファイルを完全に制御し、他の誰もアクセスできません。まず、put-bucket-acl
で S3 アクセス許可を付与します。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
コマンドは、Amazon S3 のログ配信システムに必要なアクセス許可 (write および read-acp アクセス許可) を付与するために必要です。詳細については、「Amazon Simple Storage Service デベロッパーガイド」の「Amazon S3 サーバーアクセスログ」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のPutBucketLogging
」を参照してください。
-
次の例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のPutBucketMetricsConfiguration
」を参照してください。
-
次の例は、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 トピックには、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::s3-notification-topic", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:my-bucket" } } } ] }
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のPutBucketNotificationConfiguration
」を参照してください。
-
次の例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のPutBucketNotification
」を参照してください。
-
次の例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のPutBucketOwnershipControls
」を参照してください。
-
次のコード例は、put-bucket-policy
を使用する方法を示しています。
- AWS CLI
-
この例では、すべてのユーザーが MyBucket 内のオブジェクトを取得できます。ただし、MySecretFolder 内のオブジェクトは除きます。また、 AWS アカウントのルートユーザーに
put
とdelete
アクセス許可を付与します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 の詳細については、AWS CLI 「 コマンドリファレンス」のPutBucketPolicy
」を参照してください。
-
次の例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のPutBucketReplication
」を参照してください。
-
次の例は、put-bucket-request-payment
を使用する方法を説明しています。
- AWS CLI
-
例 1: バケットの「リクエスタ支払い」設定を有効にするには
次の
put-bucket-request-payment
の例では、指定したバケットのrequester pays
を有効にします。aws s3api put-bucket-request-payment \ --bucket
my-bucket
\ --request-payment-configuration '{"Payer":"Requester"}
'このコマンドでは何も出力されません。
例 2: バケットの「リクエスタ支払い」設定を無効にするには
次の
put-bucket-request-payment
の例では、指定したバケットのrequester pays
を無効にします。aws s3api put-bucket-request-payment \ --bucket
my-bucket
\ --request-payment-configuration '{"Payer":"BucketOwner"}
'このコマンドでは何も出力されません。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のPutBucketRequestPayment
」を参照してください。
-
次の例は、put-bucket-tagging
を使用する方法を説明しています。
- AWS CLI
-
次のコマンドは、タグ付けの設定を
my-bucket
という名前のバケットに適用します。aws s3api put-bucket-tagging --bucket
my-bucket
--taggingfile://tagging.json
ファイルは、タグを指定する現在のフォルダ内の JSON ドキュメント
tagging.json
です。{ "TagSet": [ { "Key": "organization", "Value": "marketing" } ] }
または、コマンドラインから直接タグ設定を
my-bucket
に適用します。aws s3api put-bucket-tagging --bucket
my-bucket
--tagging 'TagSet=[{Key=organization,Value=marketing}]
'-
API の詳細については、 AWS CLI コマンドリファレンスの PutBucketTagging
を参照してください。
-
次の例は、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 の詳細については、 AWS CLI コマンドリファレンスの PutBucketVersioning
を参照してください。
-
次のコード例は、put-bucket-website
を使用する方法を示しています。
- AWS CLI
-
my-bucket
という名前のバケットに静的なウェブサイト設定を適用します。aws s3api put-bucket-website --bucket
my-bucket
--website-configurationfile://website.json
ファイルは、ウェブサイトのインデックスページとエラーページを指定する現在のフォルダ内の JSON ドキュメント
website.json
です。{ "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } }
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のPutBucketWebsite
」を参照してください。
-
次のコード例は、put-object-acl
を使用する方法を示しています。
- AWS CLI
-
次のコマンド
full control
は、2 人の 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
カスタム ACLs の詳細については、http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html を参照してください ( などの s3api ACL コマンドは
put-object-acl
、同じ短い引数表記を使用します)。-
API の詳細については、AWS CLI 「 コマンドリファレンス」のPutObjectAcl
」を参照してください。
-
次の例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のPutObjectLegalHold
」を参照してください。
-
次の例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のPutObjectLockConfiguration
」を参照してください。
-
次の例は、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 の詳細については、 AWS CLI コマンドリファレンスの PutObjectRetention
を参照してください。
-
次の例は、put-object-tagging
を使用する方法を説明しています。
- AWS CLI
-
オブジェクトにタグを設定するには
次の
put-object-tagging
例では、指定されたオブジェクトconfidential
に キーdesignation
と 値を持つタグを設定します。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 の詳細については、AWS CLI 「 コマンドリファレンス」のPutObjectTagging
」を参照してください。
-
次のコード例は、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 の詳細については、 AWS CLI コマンドリファレンスのPutObject
」を参照してください。
-
次のコード例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のPutPublicAccessBlock
」を参照してください。
-
次のコード例は、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 の詳細については、AWS CLI 「 コマンドリファレンス」のRestoreObject
」を参照してください。
-
次のコード例は、rm
を使用する方法を示しています。
- AWS CLI
-
例 1: S3 オブジェクトを削除する
次の
rm
コマンドは、単一の s3 オブジェクトを削除します。aws s3 rm
s3://mybucket/test2.txt
出力:
delete: s3://mybucket/test2.txt
例 2: バケット内のすべてのコンテンツを削除する
次の
rm
コマンドは、 パラメータ で渡されると、指定されたバケットとプレフィックスのすべてのオブジェクトを再帰的に削除します--recursive
。この例では、バケットに オブジェクトtest1.txt
とmybucket
が含まれていますtest2.txt
。aws s3 rm
s3://mybucket
\ --recursive出力:
delete: s3://mybucket/test1.txt delete: s3://mybucket/test2.txt
例 3: ``.jpg`` ファイルを除くバケット内のすべてのコンテンツを削除する
次の
rm
コマンドは、 パラメータを使用して一部のオブジェクトを除外--recursive
しながら、--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 の詳細については、AWS CLI 「 コマンドリファレンス」のSelectObjectContent
」を参照してください。
-
次の例は、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 オブジェクトをコピーすることで、指定されたプレフィックスとバケットのオブジェクトを別の指定されたプレフィックスとバケットのオブジェクトに同期します。S3 オブジェクトは、2 つの S3 オブジェクトのサイズが異なる場合、ソースの最終変更時刻が送信先の最終変更時刻よりも新しい場合、または指定されたバケットとプレフィックスの送信先の下に S3 オブジェクトが存在しない場合、コピーする必要があります。この例では、ユーザーはバケットをバケット
mybucket
に同期しますmybucket2
。バケットには、 オブジェクトtest.txt
とmybucket
が含まれています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 バケットからローカルディレクトリにファイルを同期します。S3 オブジェクトのサイズがローカルファイルのサイズとS3異なる場合、S3 オブジェクトの最終変更時刻がローカルファイルの最終変更時刻よりも新しい場合、または S3 オブジェクトがローカルディレクトリに存在しない場合、S3 オブジェクトのダウンロードが必要になります。オブジェクトが S3 からダウンロードされると、ローカルファイルの最終変更時刻が S3 オブジェクトの最終変更時刻に変更されることに注意してください。この例では、ユーザーはバケットを現在のローカルディレクトリmybucket
に同期します。バケットには、 オブジェクトtest.txt
とmybucket
が含まれています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
。バケットには、ローカル とは異なるtest.jpg
サイズのオブジェクトmybucket
が含まれていますtest.jpg
。aws s3 sync
.
s3://mybucket
\ --exclude"*.jpg"
出力:
upload: test2.txt to s3://mybucket/test2.txt
例 6: ``.jpg`` ファイルを除くすべてのローカルオブジェクトを指定されたバケットに同期する
次の
sync
コマンドは、S3 オブジェクトをダウンロードして、ローカルディレクトリの下にあるファイルを、指定されたプレフィックスとバケットの下にあるオブジェクトに同期します。この例では、--exclude
パラメータフラグを使用して、指定されたディレクトリと S3 プレフィックスをsync
コマンドから除外します。この例では、ユーザーはローカルの現在のディレクトリをバケット に同期します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
コマンドは、異なるリージョンの 2 つのバケット間でファイルを同期します。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 の詳細については、AWS CLI 「 コマンドリファレンス」のUploadPartCopy
」を参照してください。
-
次のコード例は、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
オプションは、アップロードするローカルファイルの名前またはパスを指定します (file://プレフィックスは使用しないでください)。各パートの最小サイズは 5 MB です。アップロード ID はcreate-multipart-upload
によって返され、list-multipart-uploads
を使用して取得することもできます。バケットとキーは、マルチパートアップロードの作成時に指定されます。出力:
{ "ETag": "\"e868e0f4719e394144ef36531ee6824c\"" }
後で使用するために、各パートの ETag 値を保存します。これらはマルチパートアップロードを完了するために必要です。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のUploadPart
」を参照してください。
-
次の例は、website
を使用する方法を説明しています。
- AWS CLI
-
S3 バケットを静的ウェブサイトとして設定する
次のコマンドは、 という名前のバケットを静的ウェブサイト
my-bucket
として設定します。インデックスドキュメントオプションは、ウェブサイトの URL に移動するときにビジターmy-bucket
がリダイレクトされる のファイルを指定します。この場合、バケットは 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 「 コマンドリファレンス」の「ウェブサイト
」を参照してください。
-