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;
을
이 스크립트를 하나의 파일 (명령 sh upload.sh 'filename' 'path'
사용)로 호출하면 제대로 작동하지만 두 번째 셸 스크립트와 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'>
개인 요청이 작동하지만 함께 실행하면 이후 'Access Denied'오류 메시지와 함께 모두 실패합니다. 이것은 경합 조건의 오류라고 가정하지만이 문제를 어떻게 피할 수 있습니까?
내 스크립트에'--debug' 플래그를 추가했습니다. 업로드가 더 안정적으로 작동하는 것처럼 보입니다. 그게 왜 차이가 나는가? –
디버그를 사용할 때 문제와 관련된 다른 정보를 발견 했습니까? – jbird