翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
で APIレベル (s3api) コマンドを使用する AWS CLI
APIレベルのコマンド (s3api
コマンドセットに含まれる) は、Amazon Simple Storage Service (Amazon S3) への直接アクセスを提供しAPIs、高レベルのs3
コマンドでは公開されない一部のオペレーションを有効にします。これらのコマンドは、サービスの機能への APIレベルのアクセスを提供する他の AWS サービスと同等です。s3
コマンドの詳細については、「で高レベル (s3) コマンドを使用する AWS CLI」を参照してください。
このトピックでは、Amazon S3 にマッピングされる下位レベルのコマンドの使用方法を示す例を示しますAPIs。さらに、各 S3 API コマンドの例は、AWS CLI バージョン 2 リファレンスガイドの s3api
セクションにあります。
前提条件
s3api
コマンドを実行するには、次のことが必要です。
AWS CLIをインストールして設定します。詳細については、「AWS CLIの最新バージョンのインストールまたは更新」および「認証とアクセス認証情報」を参照してください。
-
使用するプロファイルには、例によって実行される AWS オペレーションを許可するアクセス許可が必要です。
-
Amazon S3 の以下の用語を解説します。
-
バケット - トップレベルの Amazon S3 フォルダ。
-
プレフィックス - バケット内の Amazon S3 フォルダ。
-
オブジェクト - Amazon S3 バケットでホストされているすべてのアイテム。
-
カスタムを適用する ACL
高レベルコマンドでは、 --acl
オプションを使用して、事前定義されたアクセスコントロールリスト (ACLs) を Amazon S3 オブジェクトに適用できます。ただし、そのコマンドを使用してバケット全体の を設定することはできませんACLs。ただし、これを行うにはput-bucket-acl
、 APIレベルの コマンドを使用します。
次の例は、2 人の AWS ユーザー (user1@example.com と user2@example.com) にフルコントロールを付与し、すべてのユーザーに読み取りアクセス許可を付与する方法を示しています。「全員」の識別子は、パラメータとしてURI渡す特別な から取得されます。
$
aws s3api put-bucket-acl --bucket
MyBucket
--grant-full-control 'emailaddress="user1@example.com
",emailaddress="user2@example.com
"' --grant-read 'uri="http://acs.amazonaws.com/groups/global/AllUsers"'
の構築方法の詳細についてはACLs、「Amazon Simple Storage Service APIリファレンス」のPUT「バケット acl」を参照してください。CLIなどの のs3api
ACLコマンドはput-bucket-acl
、同じ短縮引数表記 を使用します。
ログ記録ポリシーの設定
API コマンドは、バケットログ記録ポリシーput-bucket-logging
を設定します。
次の例では、 AWS ユーザー user@example.com にログファイルに対するフルコントロールが付与され、すべてのユーザーがログファイルへの読み取りアクセス権を持ちます。Amazon S3 ログ配信システム ( で指定) に、バケットへのログの読み取りと書き込みに必要なアクセス許可を付与するには、 put-bucket-acl
コマンドも必要であることに注意してください。 URI
$
aws s3api put-bucket-acl --bucket
MyBucket
--grant-read-acp 'URI="http://acs.amazonaws.com/groups/s3/LogDelivery"' --grant-write 'URI="http://acs.amazonaws.com/groups/s3/LogDelivery"'$
aws s3api put-bucket-logging --bucket
MyBucket
--bucket-logging-status file://logging.json
前のコマンドで logging.json
ファイルの内容は、次のとおりです。
{ "LoggingEnabled": { "TargetBucket": "MyBucket", "TargetPrefix": "MyBucketLogs/", "TargetGrants": [ { "Grantee": { "Type": "AmazonCustomerByEmail", "EmailAddress": "
user@example.com
" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "Type": "Group", "URI": "http://acs.amazonaws.com/groups/global/AllUsers" }, "Permission": "READ" } ] } }
リソース
AWS CLI リファレンス:
サービスリファレンス:
-
Amazon S3ユーザーガイド」の「Amazon S3 バケットの使用Amazon S3」
-
Amazon S3ユーザーガイド」の「Amazon S3 オブジェクトの使用Amazon S3」
-
「Amazon S3 ユーザーガイド」の「プレフィックスと区切り記号を使用したキーの階層的な一覧表示Amazon S3」
-
Amazon S3 ユーザーガイドの AWS SDK for .NET (低レベル) を使用して S3 バケットへのマルチパートアップロードを中止する Amazon S3