翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
での API-Level (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 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) にフルコントロールを付与し、すべてのユーザーに読み取りアクセス許可を付与する方法を示しています。「everyone」の識別子は、パラメータとしてURI渡す特殊な から取得されます。
$
aws s3api put-bucket-acl --bucket
amzn-s3-demo-bucket
--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 にログファイルに対する完全な制御が付与され、すべてのユーザーがログファイルへの読み取りアクセス権を持ちます。put-bucket-acl
コマンドは、Amazon S3 ログ配信システム ( で指定URI) に、バケットへのログの読み取りと書き込みに必要なアクセス許可を付与するためにも必要であることに注意してください。
$
aws s3api put-bucket-acl --bucket
amzn-s3-demo-bucket
--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
amzn-s3-demo-bucket
--bucket-logging-status file://logging.json
前のコマンドで logging.json
ファイルの内容は、次のとおりです。
{ "LoggingEnabled": { "TargetBucket": "amzn-s3-demo-bucket", "TargetPrefix": "amzn-s3-demo-bucketLogs/", "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 ユーザーガイドの AWS SDK for .NET (低レベル) を使用して、S3 バケットへのマルチパートアップロードを中止する Amazon S3