S3バケット"handson-cli-s3-1st-highlevel-XXXXXXXXXXXX"にファイルをアップロードします。
手順に必要な設定値を変数に格納をします。
転送対象ファイルを指定します。
変数の設定: DIR_LOCAL="${HOME}/environment/local-handson-cli-s3-1st" 変数の設定: FILE_LOCAL="${DIR_LOCAL}/handson-cli-s3-1st-highlevel-upload.txt" \ && echo ${FILE_LOCAL} 結果(例): ${HOME}/environment/local-handson-cli-s3-1st/handson-cli-s3-1st-highlevel-upload.txt
変数の設定:
DIR_LOCAL="${HOME}/environment/local-handson-cli-s3-1st"
FILE_LOCAL="${DIR_LOCAL}/handson-cli-s3-1st-highlevel-upload.txt" \ && echo ${FILE_LOCAL}
結果(例):
${HOME}/environment/local-handson-cli-s3-1st/handson-cli-s3-1st-highlevel-upload.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'
各変数に正しい設定値が格納されていることを確認します。
変数の確認: cat << END # 1. FILE_LOCAL:"${HOME}/environment/local-handson-cli-s3-1st/handson-cli-s3-1st-highlevel-upload.txt" FILE_LOCAL="${FILE_LOCAL}" # 2. S3_BUCKET_NAME:"handson-cli-s3-1st-highlevel-XXXXXXXXXXXX" S3_BUCKET_NAME="${S3_BUCKET_NAME}" # 3. S3_OBJECT_KEY:"alpha/0.txt" S3_OBJECT_KEY="${S3_OBJECT_KEY}" END
変数の確認:
cat << END # 1. FILE_LOCAL:"${HOME}/environment/local-handson-cli-s3-1st/handson-cli-s3-1st-highlevel-upload.txt" FILE_LOCAL="${FILE_LOCAL}" # 2. S3_BUCKET_NAME:"handson-cli-s3-1st-highlevel-XXXXXXXXXXXX" S3_BUCKET_NAME="${S3_BUCKET_NAME}" # 3. S3_OBJECT_KEY:"alpha/0.txt" S3_OBJECT_KEY="${S3_OBJECT_KEY}" END
下段の変数が入っていない、もしくは上段と同等の値が入っていない場合は、それぞれの手順番号に戻って変数の設定を行います。
S3バケットにファイルをアップロードします。
変数の確認: cat << END # FILE_LOCAL:"${HOME}/environment/local-handson-cli-s3-1st/handson-cli-s3-1st-highlevel-upload.txt" FILE_LOCAL="${FILE_LOCAL}" # 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}" END コマンド: aws s3 cp \ ${FILE_LOCAL} \ s3://${S3_BUCKET_NAME}/${S3_OBJECT_KEY} 結果(例): upload: ${HOME}/environment/local-handson-cli-s3-1st/handson-cli-s3-1st-highlevel-upload.txt to s3://alpha/0.txt
cat << END # FILE_LOCAL:"${HOME}/environment/local-handson-cli-s3-1st/handson-cli-s3-1st-highlevel-upload.txt" FILE_LOCAL="${FILE_LOCAL}" # 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}" END
aws s3 cp \ ${FILE_LOCAL} \ s3://${S3_BUCKET_NAME}/${S3_OBJECT_KEY}
upload: ${HOME}/environment/local-handson-cli-s3-1st/handson-cli-s3-1st-highlevel-upload.txt to s3://alpha/0.txt
「S3バケット"handson-cli-s3-1st-highlevel-XXXXXXXXXXXX"にオブジェクト"alpha/0.txt"が存在する。」ことを確認します。
コマンド: aws s3 ls s3://${S3_BUCKET_NAME} --recursive \ | grep ${S3_OBJECT_KEY} \ | awk '{print $4}' 結果(例): alpha/0.txt
aws s3 ls s3://${S3_BUCKET_NAME} --recursive \ | grep ${S3_OBJECT_KEY} \ | awk '{print $4}'
alpha/0.txt
S3ダッシュボード( https://console.aws.amazon.com/s3/home )にアクセスします。
左ペインの"バケット"をクリックします。
バケット一覧(画面)
検索欄にバケット名"handson-cli-s3-1st-highlevel-XXXXXXXXXXXX"を入力します。
バケット名"handson-cli-s3-1st-highlevel-XXXXXXXXXXXX"(リンク)をクリックします。
バケット詳細画面
"オブジェクト"タブを表示します。