を使用した Amazon S3 コントロールの例 AWS CLI - AWS SDK コード例

Doc AWS SDK Examples リポジトリには、他にも SDK の例があります。 AWS GitHub

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

を使用した Amazon S3 コントロールの例 AWS CLI

次のコード例は、Amazon S3 Control AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、関連するシナリオやサービス間の例ではアクションのコンテキストが確認できます。

「シナリオ」は、同じサービス内で複数の関数を呼び出して、特定のタスクを実行する方法を示すコード例です。

各例には、 へのリンクが含まれています。このリンクには GitHub、コンテキスト内でコードをセットアップして実行する方法の手順が記載されています。

トピック

アクション

次の例は、create-access-point を使用する方法を説明しています。

AWS CLI

アクセスポイントを作成するには

次のcreate-access-point例では、アカウント 123456789012 のバケット finance-ap に という名前business-recordsのアクセスポイントを作成します。この例を実行する前に、アクセスポイント名、バケット名、アカウント番号をユースケースに適した値に置き換えてください。

aws s3control create-access-point \ --account-id 123456789012 \ --bucket business-records \ --name finance-ap

このコマンドでは何も出力されません。

詳細については、Amazon Simple Storage Service デベロッパーガイド「アクセスポイントの作成」を参照してください。

  • API の詳細については、「 コマンドリファレンスCreateAccessPoint」の「」を参照してください。 AWS CLI

次の例は、create-job を使用する方法を説明しています。

AWS CLI

Amazon S3 バッチオペレーションジョブを作成するには

次のcreate-job例では、オブジェクトを としてタグ付けする Amazon S3 バッチオペレーションジョブを作成しますconfidential` in the bucket ``employee-records

aws s3control create-job \ --account-id 123456789012 \ --operation '{"S3PutObjectTagging": { "TagSet": [{"Key":"confidential", "Value":"true"}] }}' \ --report '{"Bucket":"arn:aws:s3:::employee-records-logs","Prefix":"batch-op-create-job", "Format":"Report_CSV_20180820","Enabled":true,"ReportScope":"AllTasks"}' \ --manifest '{"Spec":{"Format":"S3BatchOperations_CSV_20180820","Fields":["Bucket","Key"]},"Location":{"ObjectArn":"arn:aws:s3:::employee-records-logs/inv-report/7a6a9be4-072c-407e-85a2-ec3e982f773e.csv","ETag":"69f52a4e9f797e987155d9c8f5880897"}}' \ --priority 42 \ --role-arn arn:aws:iam::123456789012:role/S3BatchJobRole

出力:

{ "JobId": "93735294-df46-44d5-8638-6356f335324e" }
  • API の詳細については、「 コマンドリファレンスCreateJob」の「」を参照してください。 AWS CLI

次の例は、delete-access-point-policy を使用する方法を説明しています。

AWS CLI

アクセスポイントポリシーを削除するには

次のdelete-access-point-policy例では、アカウント 123456789012 finance-apの という名前のアクセスポイントからアクセスポイントポリシーを削除します。この例を実行する前に、アクセスポイント名とアカウント番号をユースケースに適した値に置き換えてください。

aws s3control delete-access-point-policy \ --account-id 123456789012 \ --name finance-ap

このコマンドでは何も出力されません。

詳細については、Amazon Simple Storage Service デベロッパーガイドの「Amazon Amazon S3 アクセスポイントによるデータアクセスの管理」を参照してください。

  • API の詳細については、「 コマンドリファレンスDeleteAccessPointPolicy」の「」を参照してください。 AWS CLI

次の例は、delete-access-point を使用する方法を説明しています。

AWS CLI

アクセスポイントを削除するには

次のdelete-access-point例では、アカウント 123456789012 finance-apの という名前のアクセスポイントを削除します。この例を実行する前に、アクセスポイント名とアカウント番号をユースケースに適した値に置き換えてください。

aws s3control delete-access-point \ --account-id 123456789012 \ --name finance-ap

このコマンドでは何も出力されません。

詳細については、Amazon Simple Storage Service デベロッパーガイドの「Amazon Amazon S3 アクセスポイントによるデータアクセスの管理」を参照してください。

  • API の詳細については、「 コマンドリファレンスDeleteAccessPoint」の「」を参照してください。 AWS CLI

次の例は、delete-public-access-block を使用する方法を説明しています。

AWS CLI

アカウントのブロックパブリックアクセス設定を削除するには

次のdelete-public-access-block例では、指定されたアカウントのブロックパブリックアクセス設定を削除します。

aws s3control delete-public-access-block \ --account-id 123456789012

このコマンドでは何も出力されません。

  • API の詳細については、「 コマンドリファレンスDeletePublicAccessBlock」の「」を参照してください。 AWS CLI

次の例は、describe-job を使用する方法を説明しています。

AWS CLI

Amazon S3 バッチオペレーションジョブを記述するには

以下にdescribe-job、指定したバッチオペレーションジョブの設定パラメータとステータスを示します。

aws s3control describe-job \ --account-id 123456789012 \ --job-id 93735294-df46-44d5-8638-6356f335324e

出力:

{ "Job": { "TerminationDate": "2019-10-03T21:49:53.944Z", "JobId": "93735294-df46-44d5-8638-6356f335324e", "FailureReasons": [], "Manifest": { "Spec": { "Fields": [ "Bucket", "Key" ], "Format": "S3BatchOperations_CSV_20180820" }, "Location": { "ETag": "69f52a4e9f797e987155d9c8f5880897", "ObjectArn": "arn:aws:s3:::employee-records-logs/inv-report/7a6a9be4-072c-407e-85a2-ec3e982f773e.csv" } }, "Operation": { "S3PutObjectTagging": { "TagSet": [ { "Value": "true", "Key": "confidential" } ] } }, "RoleArn": "arn:aws:iam::123456789012:role/S3BatchJobRole", "ProgressSummary": { "TotalNumberOfTasks": 8, "NumberOfTasksFailed": 0, "NumberOfTasksSucceeded": 8 }, "Priority": 42, "Report": { "ReportScope": "AllTasks", "Format": "Report_CSV_20180820", "Enabled": true, "Prefix": "batch-op-create-job", "Bucket": "arn:aws:s3:::employee-records-logs" }, "JobArn": "arn:aws:s3:us-west-2:123456789012:job/93735294-df46-44d5-8638-6356f335324e", "CreationTime": "2019-10-03T21:48:48.048Z", "Status": "Complete" } }
  • API の詳細については、「 コマンドリファレンスDescribeJob」の「」を参照してください。 AWS CLI

次の例は、get-access-point-policy-status を使用する方法を説明しています。

AWS CLI

アクセスポイントポリシーのステータスを取得するには

次のget-access-point-policy-status例では、アカウント 123456789012 finance-apの という名前のアクセスポイントのアクセスポイントポリシーステータスを取得します。アクセスポイントポリシーのステータスは、アクセスポイントのポリシーでパブリックアクセスが許可されているかどうかを示します。この例を実行する前に、アクセスポイント名とアカウント番号をユースケースに適した値に置き換えてください。

aws s3control get-access-point-policy-status \ --account-id 123456789012 \ --name finance-ap

出力:

{ "PolicyStatus": { "IsPublic": false } }

アクセスポイントポリシーがパブリックと見なされるタイミングの詳細については、Amazon Simple Storage Service デベロッパーガイドの「パブリック」の意味」を参照してください。

  • API の詳細については、「 コマンドリファレンスGetAccessPointPolicyStatus」の「」を参照してください。 AWS CLI

次の例は、get-access-point-policy を使用する方法を説明しています。

AWS CLI

アクセスポイントポリシーを取得するには

次のget-access-point-policy例では、アカウント 123456789012 finance-apの という名前のアクセスポイントからアクセスポイントポリシーを取得します。この例を実行する前に、アクセスポイント名とアカウント番号をユースケースに適した値に置き換えてください。

aws s3control get-access-point-policy \ --account-id 123456789012 \ --name finance-ap

出力:

{ "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789012:role/Admin\"},\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:us-west-2:123456789012:accesspoint/finance-ap/object/records/*\"}]}" }

詳細については、Amazon Simple Storage Service デベロッパーガイドの「Amazon Amazon S3 アクセスポイントによるデータアクセスの管理」を参照してください。

  • API の詳細については、「 コマンドリファレンスGetAccessPointPolicy」の「」を参照してください。 AWS CLI

次の例は、get-access-point を使用する方法を説明しています。

AWS CLI

アクセスポイント設定の詳細を取得するには

次のget-access-point例では、アカウント 123456789012 finance-apの という名前のアクセスポイントの設定の詳細を取得します。この例を実行する前に、アクセスポイント名とアカウント番号をユースケースに適した値に置き換えてください。

aws s3control get-access-point \ --account-id 123456789012 \ --name finance-ap

出力:

{ "Name": "finance-ap", "Bucket": "business-records", "NetworkOrigin": "Internet", "PublicAccessBlockConfiguration": { "BlockPublicAcls": false, "IgnorePublicAcls": false, "BlockPublicPolicy": false, "RestrictPublicBuckets": false }, "CreationDate": "2020-01-01T00:00:00Z" }

詳細については、Amazon Simple Storage Service デベロッパーガイドの「Amazon Amazon S3 アクセスポイントによるデータアクセスの管理」を参照してください。

  • API の詳細については、「 コマンドリファレンスGetAccessPoint」の「」を参照してください。 AWS CLI

次の例は、get-multi-region-access-point-routes を使用する方法を説明しています。

AWS CLI

現在のマルチリージョンアクセスポイントルート設定をクエリするには

次のget-multi-region-access-point-routes例では、指定されたマルチリージョンアクセスポイントの現在のルーティング設定を返します。

aws s3control get-multi-region-access-point-routes \ --region Region \ --account-id 111122223333 \ --mrap MultiRegionAccessPoint_ARN

出力:

{ "Mrap": "arn:aws:s3::111122223333:accesspoint/0000000000000.mrap", "Routes": [ { "Bucket": "DOC-EXAMPLE-BUCKET-1", "Region": "ap-southeast-2", "TrafficDialPercentage": 100 }, { "Bucket": "DOC-EXAMPLE-BUCKET-2", "Region": "us-west-1", "TrafficDialPercentage": 0 } ] }

次の例は、get-public-access-block を使用する方法を説明しています。

AWS CLI

アカウントのパブリックブロックアクセス設定を一覧表示するには

次のget-public-access-block例では、指定されたアカウントのブロックパブリックアクセス設定を表示します。

aws s3control get-public-access-block \ --account-id 123456789012

出力:

{ "PublicAccessBlockConfiguration": { "BlockPublicPolicy": true, "RestrictPublicBuckets": true, "IgnorePublicAcls": true, "BlockPublicAcls": true } }
  • API の詳細については、「 コマンドリファレンスGetPublicAccessBlock」の「」を参照してください。 AWS CLI

次の例は、list-access-points を使用する方法を説明しています。

AWS CLI

例 1: アカウントのすべてのアクセスポイントのリストを取得するには

次のlist-access-points例では、アカウント 123456789012 が所有するバケットにアタッチされているすべてのアクセスポイントのリストを表示します。

aws s3control list-access-points \ --account-id 123456789012

出力:

{ "AccessPointList": [ { "Name": "finance-ap", "NetworkOrigin": "Internet", "Bucket": "business-records" }, { "Name": "managers-ap", "NetworkOrigin": "Internet", "Bucket": "business-records" }, { "Name": "private-network-ap", "NetworkOrigin": "VPC", "VpcConfiguration": { "VpcId": "1a2b3c" }, "Bucket": "business-records" }, { "Name": "customer-ap", "NetworkOrigin": "Internet", "Bucket": "external-docs" }, { "Name": "public-ap", "NetworkOrigin": "Internet", "Bucket": "external-docs" } ] }

例 2: バケットのすべてのアクセスポイントのリストを取得するには

次のlist-access-points例では、アカウント 123456789012 external-docsが所有するバケット にアタッチされているすべてのアクセスポイントのリストを取得します。

aws s3control list-access-points \ --account-id 123456789012 \ --bucket external-docs

出力:

{ "AccessPointList": [ { "Name": "customer-ap", "NetworkOrigin": "Internet", "Bucket": "external-docs" }, { "Name": "public-ap", "NetworkOrigin": "Internet", "Bucket": "external-docs" } ] }

詳細については、Amazon Simple Storage Service デベロッパーガイドの「Amazon Amazon S3 アクセスポイントによるデータアクセスの管理」を参照してください。

  • API の詳細については、「 コマンドリファレンスListAccessPoints」の「」を参照してください。 AWS CLI

次の例は、list-jobs を使用する方法を説明しています。

AWS CLI

Amazon S3 バッチオペレーションジョブを一覧表示するには

次のlist-jobs例では、指定したアカウントの最近のすべてのバッチオペレーションジョブを一覧表示します。

aws s3control list-jobs \ --account-id 123456789012

出力:

{ "Jobs": [ { "Operation": "S3PutObjectTagging", "ProgressSummary": { "NumberOfTasksFailed": 0, "NumberOfTasksSucceeded": 8, "TotalNumberOfTasks": 8 }, "CreationTime": "2019-10-03T21:48:48.048Z", "Status": "Complete", "JobId": "93735294-df46-44d5-8638-6356f335324e", "Priority": 42 }, { "Operation": "S3PutObjectTagging", "ProgressSummary": { "NumberOfTasksFailed": 0, "NumberOfTasksSucceeded": 0, "TotalNumberOfTasks": 0 }, "CreationTime": "2019-10-03T21:46:07.084Z", "Status": "Failed", "JobId": "3f3c7619-02d3-4779-97f6-1d98dd313108", "Priority": 42 }, ] }
  • API の詳細については、「 コマンドリファレンスListJobs」の「」を参照してください。 AWS CLI

次の例は、put-access-point-policy を使用する方法を説明しています。

AWS CLI

アクセスポイントポリシーを設定するには

次のput-access-point-policy例では、アカウント 123456789012 のアクセスポイントに指定されたアクセスポイントポリシーを配置finance-apします。アクセスポイントにfinance-apすでにポリシーがある場合、このコマンドは既存のポリシーをこのコマンドで指定されたポリシーに置き換えます。この例を実行する前に、アカウント番号、アクセスポイント名、ポリシーステートメントをユースケースに適した値に置き換えてください。

aws s3control put-access-point-policy \ --account-id 123456789012 \ --name finance-ap \ --policy file://ap-policy.json

ap-policy.json の内容:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Alice" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/finance-ap/object/Alice/*" } ] }

このコマンドでは何も出力されません。

詳細については、Amazon Simple Storage Service デベロッパーガイドの「Amazon Amazon S3 アクセスポイントによるデータアクセスの管理」を参照してください。

  • API の詳細については、「 コマンドリファレンスPutAccessPointPolicy」の「」を参照してください。 AWS CLI

次の例は、put-public-access-block を使用する方法を説明しています。

AWS CLI

アカウントのブロックパブリックアクセス設定を編集するには

次のput-public-access-block例では、指定したアカウントのすべてのブロックパブリックアクセス設定を に切り替えtrueます。

aws s3control put-public-access-block \ --account-id 123456789012 \ --public-access-block-configuration '{"BlockPublicAcls": true, "IgnorePublicAcls": true, "BlockPublicPolicy": true, "RestrictPublicBuckets": true}'

このコマンドでは何も出力されません。

  • API の詳細については、「 コマンドリファレンスPutPublicAccessBlock」の「」を参照してください。 AWS CLI

次の例は、submit-multi-region-access-point-routes を使用する方法を説明しています。

AWS CLI

マルチリージョンアクセスポイントのルーティング設定を更新するには

次のsubmit-multi-region-access-point-routes例では、マルチリージョンアクセスポイントの ap-southeast-2 リージョンDOC-EXAMPLE-BUCKET-2DOC-EXAMPLE-BUCKET-1および のルーティングステータスを更新します。

aws s3control submit-multi-region-access-point-routes \ --region ap-southeast-2 \ --account-id 111122223333 \ --mrap MultiRegionAccessPoint_ARN \ --route-updates Bucket=DOC-EXAMPLE-BUCKET-1,TrafficDialPercentage=100 Bucket=DOC-EXAMPLE-BUCKET-2,TrafficDialPercentage=0

このコマンドでは何も出力されません。

次の例は、update-job-priority を使用する方法を説明しています。

AWS CLI

Amazon S3 バッチオペレーションジョブのジョブ優先度を更新するには

次のupdate-job-priority例では、指定されたジョブを新しい優先度に更新します。

aws s3control update-job-priority \ --account-id 123456789012 \ --job-id 8d9a18fe-c303-4d39-8ccc-860d372da386 \ --priority 52

出力:

{ "JobId": "8d9a18fe-c303-4d39-8ccc-860d372da386", "Priority": 52 }
  • API の詳細については、「 コマンドリファレンスUpdateJobPriority」の「」を参照してください。 AWS CLI

次の例は、update-job-status を使用する方法を説明しています。

AWS CLI

Amazon S3 バッチオペレーションジョブのステータスを更新するには

次のupdate-job-status例では、承認待ちの指定されたジョブをキャンセルします。

aws s3control update-job-status \ --account-id 123456789012 \ --job-id 8d9a18fe-c303-4d39-8ccc-860d372da386 \ --requested-job-status Cancelled

出力:

{ "Status": "Cancelled", "JobId": "8d9a18fe-c303-4d39-8ccc-860d372da386" }

次のupdate-job-status例では、承認待ちの指定された を確認して実行します。

aws s3control update-job-status \ --account-id 123456789012 \ --job-id 5782949f-3301-4fb3-be34-8d5bab54dbca \ --requested-job-status Ready Output:: { "Status": "Ready", "JobId": "5782949f-3301-4fb3-be34-8d5bab54dbca" }

次のupdate-job-status例では、実行中の指定されたジョブをキャンセルします。

aws s3control update-job-status \ --account-id 123456789012 \ --job-id 5782949f-3301-4fb3-be34-8d5bab54dbca \ --requested-job-status Cancelled Output:: { "Status": "Cancelling", "JobId": "5782949f-3301-4fb3-be34-8d5bab54dbca" }
  • API の詳細については、「 コマンドリファレンスUpdateJobStatus」の「」を参照してください。 AWS CLI