処理の実行
S3バケット上のオブジェクトに対して署名付きURLを作成します。
変数の確認:
cat << END
# S3_BUCKET_NAME:"handson-cli-s3-1st-highlevel-XXXXXXXXXXXX"
S3_BUCKET_NAME="${S3_BUCKET_NAME}"
# S3_OBJECT_KEY:"charlie/2.txt"
S3_OBJECT_KEY="${S3_OBJECT_KEY}"
# S3_PRESIGN_SECONDS:"120"
S3_PRESIGN_SECONDS="${S3_PRESIGN_SECONDS}"
END
コマンド:
S3_PRESIGN_URL=$( \
aws s3 presign s3://${S3_BUCKET_NAME}/${S3_OBJECT_KEY} \
--expires-in ${S3_PRESIGN_SECONDS} \
) \
&& echo ${S3_PRESIGN_URL}
結果(例):
https://handson-cli-s3-1st-highlevel-XXXXXXXXXXXX.s3.amazonaws.com/charlie/2.txt?AWSAccessKeyId=ASIAxxxxxxxxxxxxxxxx&Expires=1234567890&x-amz-security-token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%3D&Signature=xxxxxxxxxxxxxxxxxxxxxxxxxxx%3D
完了確認
「S3バケット"handson-cli-s3-1st-highlevel-XXXXXXXXXXXX"のオブジェクト"charlie/2.txt"を署名付きURL経由で取得できている。」ことを確認します。
コマンド:
wget -qO - \
"${S3_PRESIGN_URL}"
結果(例):
注釈
署名付きURL発行後、指定の秒数(今回は120秒)経過するとオブジェクトにアクセスできなくなります