AWS CLIコマンドでのS3 URI
S3オブジェクトのコピー、同期、一覧表示のための一般的なAWS CLIコマンドでs3:// URI形式がどのように使用されるかを理解します。
S3 Protocol
詳細な説明
AWS CLIでのS3 URI
AWS CLIは、高レベルS3コマンド(aws s3)と低レベルAPIコマンド(aws s3api)でs3:// URIスキームを広く使用しています。URI構造を理解することで、正しいコマンドの構築と失敗のトラブルシューティングに役立ちます。
S3 URIを使用した一般的なCLIコマンド
ファイルをS3にコピー
aws s3 cp ./local-file.txt s3://my-bucket/path/file.txt
解析されたURI:
| コンポーネント | 値 |
|---|---|
| バケット | my-bucket |
| キー | path/file.txt |
ディレクトリの同期
aws s3 sync ./build/ s3://static-site-bucket/
解析されたURI:
| コンポーネント | 値 |
|---|---|
| バケット | static-site-bucket |
| キー | (ルートプレフィックス) |
プレフィックス付きでオブジェクトを一覧表示
aws s3 ls s3://data-bucket/logs/2024/
解析されたURI:
| コンポーネント | 値 |
|---|---|
| バケット | data-bucket |
| キー | logs/2024/ (プレフィックスとして使用) |
末尾スラッシュの動作
CLIコマンドでは末尾のスラッシュが重要です:
| URI | 意味 |
|---|---|
s3://bucket/folder |
文字通り「folder」という名前のキーを参照 |
s3://bucket/folder/ |
プレフィックス「folder/」のすべてのオブジェクトを参照 |
この区別はaws s3 syncとaws s3 rm --recursiveコマンドで重要です。
URIからHTTP URLへのマッピング
| s3:// URI | 同等のHTTPS URL |
|---|---|
s3://bucket/key |
https://bucket.s3.REGION.amazonaws.com/key |
s3://bucket/ |
https://bucket.s3.REGION.amazonaws.com/ |
CLIはAWS設定からリージョンを自動的に解決するため、s3:// URIにリージョンを含める必要はありません。
ユースケース
バケット名、プレフィックス、日付パーティションの環境変数に基づいてs3:// URIを動的に解析または構築するS3操作を自動化するシェルスクリプトを作成する。