2
CIビルドプロセスの最終ステップとして、私はS3のバケットに一度に単一のファイルをアップロードするには、以下のシェルスクリプトを使用しています:アクセス拒否エラー使用して順番に複数のファイルをアップロードし、AWS S3
#!/usr/bin/env bash
echo "Uploading the file: "$1
aws s3 cp "$1" "s3://BUCKET_NAME/$2$1" --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers
exit;
を
このスクリプトを1つのファイル(コマンドsh upload.sh 'filename' 'path'
を使用)で呼び出すと正常に機能しますが、2回目のシェルスクリプトと、aws
コマンドラインツールへの他の呼び出しは、エラー:
An error occurred (AccessDenied) when calling the CreateMultipartUpload operation: Access Denied
Parameter validation failed:
Invalid type for parameter UploadId, value: None, type: <type 'NoneType'>, valid types: <type 'basestring'>
個要求は機能しますが、一緒に実行すると、後者のものはすべて同じ「アクセス拒否」エラーメッセージで失敗します。これはレースコンディションのエラーだと思いますが、どうすればこの問題を回避できますか?
私はスクリプトに '--debug'フラグを追加しました。これは、アップロードがより確実に動作するように思えます。それが違いを生む理由は何ですか? –
デバッグが有効になっているときに問題に関連する他の情報がありましたか? – jbird