S3バケット"handson-cli-s3-replication-replication-source-XXXXXXXXXXXX"にファイルをアップロードします。
手順に必要な設定値を変数に格納をします。
1. 転送対象ファイル
転送対象ファイルを指定します。
変数の設定: DIR_LOCAL="${HOME}/environment/local-handson-cli-s3-replication" 変数の設定: FILE_LOCAL="${DIR_LOCAL}/handson-cli-s3-replication-replication-upload.txt" \ && echo ${FILE_LOCAL} 結果(例): ${HOME}/environment/local-handson-cli-s3-replication/handson-cli-s3-replication-replication-upload.txt
変数の設定:
DIR_LOCAL="${HOME}/environment/local-handson-cli-s3-replication"
FILE_LOCAL="${DIR_LOCAL}/handson-cli-s3-replication-replication-upload.txt" \ && echo ${FILE_LOCAL}
結果(例):
${HOME}/environment/local-handson-cli-s3-replication/handson-cli-s3-replication-replication-upload.txt
2. S3バケット名
S3バケット名を指定します。
変数の設定: S3_BUCKET_PREFIX='handson-cli-s3-replication-replication-source' コマンド: 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-replication-replication-source-XXXXXXXXXXXX
S3_BUCKET_PREFIX='handson-cli-s3-replication-replication-source'
コマンド:
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-replication-replication-source-XXXXXXXXXXXX
3. オブジェクトキー
アップロードするファイルの保存先(オブジェクトキー)を指定します。
変数の設定: S3_OBJECT_KEY='alpha/0.txt'
S3_OBJECT_KEY='alpha/0.txt'
各変数に正しい設定値が格納されていることを確認します。
変数の確認: cat << END # 1. FILE_LOCAL:"${HOME}/environment/local-handson-cli-s3-replication/handson-cli-s3-replication-replication-upload.txt" FILE_LOCAL="${FILE_LOCAL}" # 2. S3_BUCKET_NAME:"handson-cli-s3-replication-replication-source-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-replication/handson-cli-s3-replication-replication-upload.txt" FILE_LOCAL="${FILE_LOCAL}" # 2. S3_BUCKET_NAME:"handson-cli-s3-replication-replication-source-XXXXXXXXXXXX" S3_BUCKET_NAME="${S3_BUCKET_NAME}" # 3. S3_OBJECT_KEY:"alpha/0.txt" S3_OBJECT_KEY="${S3_OBJECT_KEY}" END
S3バケットにファイルをアップロードします。
変数の確認: cat << END # S3_BUCKET_NAME:"handson-cli-s3-replication-replication-source-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-replication/handson-cli-s3-replication-replication-upload.txt" FILE_LOCAL="${FILE_LOCAL}" END コマンド: aws s3api put-object \ --bucket ${S3_BUCKET_NAME} \ --key ${S3_OBJECT_KEY} 結果(例): { "ETag": ""xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"", "VersionId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }
cat << END # S3_BUCKET_NAME:"handson-cli-s3-replication-replication-source-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-replication/handson-cli-s3-replication-replication-upload.txt" FILE_LOCAL="${FILE_LOCAL}" END
aws s3api put-object \ --bucket ${S3_BUCKET_NAME} \ --key ${S3_OBJECT_KEY}
{ "ETag": ""xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"", "VersionId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }
「S3バケット"handson-cli-s3-replication-replication-source-XXXXXXXXXXXX"にオブジェクト"alpha/0.txt"が存在する。」ことを確認します。
コマンド: aws s3api list-objects-v2 \ --bucket ${S3_BUCKET_NAME} \ --query "Contents[?Key == \`${S3_OBJECT_KEY}\` ].Key" \ --output text 結果(例): alpha/0.txt
aws s3api list-objects-v2 \ --bucket ${S3_BUCKET_NAME} \ --query "Contents[?Key == \`${S3_OBJECT_KEY}\` ].Key" \ --output text
alpha/0.txt