S3バケット"handson-cli-s3-1st-highlevel-XXXXXXXXXXXX"のオブジェクト"alpha/0.txt"をダウンロードします。
手順に必要な設定値を変数に格納をします。
S3バケット名を指定します。
変数の設定: S3_BUCKET_PREFIX='handson-cli-s3-1st-highlevel' コマンド: aws_id=$( \ aws sts get-caller-identity \ --query 'Account' \ --output text \ ) \ && echo ${aws_id} 結果(例): XXXXXXXXXXXX 変数の設定: S3_BUCKET_NAME="${S3_BUCKET_PREFIX}-${aws_id}" \ && echo ${S3_BUCKET_NAME} 結果(例): handson-cli-s3-1st-highlevel-XXXXXXXXXXXX
変数の設定:
S3_BUCKET_PREFIX='handson-cli-s3-1st-highlevel'
コマンド:
aws_id=$( \ aws sts get-caller-identity \ --query 'Account' \ --output text \ ) \ && echo ${aws_id}
結果(例):
XXXXXXXXXXXX
S3_BUCKET_NAME="${S3_BUCKET_PREFIX}-${aws_id}" \ && echo ${S3_BUCKET_NAME}
handson-cli-s3-1st-highlevel-XXXXXXXXXXXX
オブジェクトキーを指定します。
変数の設定: S3_OBJECT_KEY='alpha/0.txt'
S3_OBJECT_KEY='alpha/0.txt'
ダウンロード用ディレクトリを指定します。
変数の設定: DIR_LOCAL="${HOME}/environment/local-handson-cli-s3-1st"
DIR_LOCAL="${HOME}/environment/local-handson-cli-s3-1st"
ディレクトリが存在することを確認し、存在しない場合は作成します。
コマンド: ls -d ${DIR_LOCAL} > /dev/null 2>&1 \ || mkdir -p ${DIR_LOCAL} 結果(例): (出力なし)
ls -d ${DIR_LOCAL} > /dev/null 2>&1 \ || mkdir -p ${DIR_LOCAL}
(出力なし)
ダウンロードしたファイルの保存ファイル名を指定します。
変数の設定: FILE_LOCAL="${DIR_LOCAL}/handson-cli-s3-1st-highlevel-download.txt" \ && echo ${FILE_LOCAL} 結果(例): ${HOME}/environment/local-handson-cli-s3-1st/handson-cli-s3-1st-highlevel-download.txt
FILE_LOCAL="${DIR_LOCAL}/handson-cli-s3-1st-highlevel-download.txt" \ && echo ${FILE_LOCAL}
${HOME}/environment/local-handson-cli-s3-1st/handson-cli-s3-1st-highlevel-download.txt
各変数に正しい設定値が格納されていることを確認します。
変数の確認: cat << END # 1. S3_BUCKET_NAME:"handson-cli-s3-1st-highlevel-XXXXXXXXXXXX" S3_BUCKET_NAME="${S3_BUCKET_NAME}" # 2. S3_OBJECT_KEY:"alpha/0.txt" S3_OBJECT_KEY="${S3_OBJECT_KEY}" # 3. DIR_LOCAL:"${HOME}/environment/local-handson-cli-s3-1st" DIR_LOCAL="${DIR_LOCAL}" # 4. FILE_LOCAL:"${HOME}/environment/local-handson-cli-s3-1st/handson-cli-s3-1st-highlevel-download.txt" FILE_LOCAL="${FILE_LOCAL}" END
変数の確認:
cat << END # 1. S3_BUCKET_NAME:"handson-cli-s3-1st-highlevel-XXXXXXXXXXXX" S3_BUCKET_NAME="${S3_BUCKET_NAME}" # 2. S3_OBJECT_KEY:"alpha/0.txt" S3_OBJECT_KEY="${S3_OBJECT_KEY}" # 3. DIR_LOCAL:"${HOME}/environment/local-handson-cli-s3-1st" DIR_LOCAL="${DIR_LOCAL}" # 4. FILE_LOCAL:"${HOME}/environment/local-handson-cli-s3-1st/handson-cli-s3-1st-highlevel-download.txt" FILE_LOCAL="${FILE_LOCAL}" END
下段の変数が入っていない、もしくは上段と同等の値が入っていない場合は、それぞれの手順番号に戻って変数の設定を行います。
S3オブジェクトをダウンロードします。
変数の確認: cat << END # S3_BUCKET_NAME:"handson-cli-s3-1st-highlevel-XXXXXXXXXXXX" S3_BUCKET_NAME="${S3_BUCKET_NAME}" # S3_OBJECT_KEY:"alpha/0.txt" S3_OBJECT_KEY="${S3_OBJECT_KEY}" # FILE_LOCAL:"${HOME}/environment/local-handson-cli-s3-1st/handson-cli-s3-1st-highlevel-download.txt" FILE_LOCAL="${FILE_LOCAL}" END コマンド: aws s3 cp \ s3://${S3_BUCKET_NAME}/${S3_OBJECT_KEY} \ ${FILE_LOCAL} 結果(例): download: s3://alpha/0.txt to ${HOME}/environment/local-handson-cli-s3-1st/handson-cli-s3-1st-highlevel-download.txt
cat << END # S3_BUCKET_NAME:"handson-cli-s3-1st-highlevel-XXXXXXXXXXXX" S3_BUCKET_NAME="${S3_BUCKET_NAME}" # S3_OBJECT_KEY:"alpha/0.txt" S3_OBJECT_KEY="${S3_OBJECT_KEY}" # FILE_LOCAL:"${HOME}/environment/local-handson-cli-s3-1st/handson-cli-s3-1st-highlevel-download.txt" FILE_LOCAL="${FILE_LOCAL}" END
aws s3 cp \ s3://${S3_BUCKET_NAME}/${S3_OBJECT_KEY} \ ${FILE_LOCAL}
download: s3://alpha/0.txt to ${HOME}/environment/local-handson-cli-s3-1st/handson-cli-s3-1st-highlevel-download.txt
「ダウンロードファイル"${HOME}/environment/local-handson-cli-s3-1st/handson-cli-s3-1st-highlevel-download.txt"が存在する。」ことを確認します。
コマンド: ls ${FILE_LOCAL} 結果(例): ${HOME}/environment/local-handson-cli-s3-1st/handson-cli-s3-1st-highlevel-download.txt
ls ${FILE_LOCAL}