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 syncaws 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操作を自動化するシェルスクリプトを作成する。

試してみる — AWS S3 URL Parser

フルツールを開く