Ошибка CORS появляется при одновременной загрузке нескольких файлов в ведро S3 с помощью boto3
У меня вопрос о S3 upload, я использую библиотеку boto3
в python
для подключения к S3.
def get_client():
return boto3.client('s3', aws_access_key_id = 'AWS_ACCESS_KEY',
aws_secret_access_key = 'AWS_SECRET_KEY')
Моя множественная загрузка файла ниже
for item in img_files:
file_type = ''
uuid_key = uuid.uuid4()
fs = FileSystemStorage()
filename = fs.save(f'{S3_TEMP_FOLDER}{uuid_key}-{item.name}', item)
file_o_name, file_o_ext = os.path.splitext(filename)
if file_o_ext.lower() in ['.jpg', '.png', '.jpeg']:
file_type = 'image'
else:
file_type = 'video'
uploaded_file_path = fs.path(filename)
try:
s3_client.upload_file(uploaded_file_path, bucket_name, f'{folder_key}/{uuid_key}-{item.name}', ExtraArgs={'ACL': 'public-read'})
uploaded_data = {
"file_name": item.name,
"file_key": f'{folder_key}/{uuid_key}-{item.name}',
"bucket_name": bucket_name,
"folder_id": get_folder_id.id,
"created_by": request.user.username,
"updated_by": request.user.username,
"bucket_id": bucket.id,
"file_type": file_type
}
S3FileManagement.objects.create(**uploaded_data)
except Exception as e:
logger.error({'message': str(e)})
logger.error({'message': S3_FOLDER_MESSAGE['S3_FILE_UPLOAD_FAILED']})
return Response({'message': S3_FOLDER_MESSAGE['S3_FILE_UPLOAD_FAILED']}, status=status.HTTP_400_BAD_REQUEST)
Когда я загружаю около 5-10 файлов за раз, процесс загрузки проходит без проблем, но когда я загружаю > 30 файлов, некоторые файлы будут иметь 502 - CORS ошибки.
В настройках python
мне разрешили CORS
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOWED_ORIGINS = [
'..{url}..vercel.app',
]
CSRF_TRUSTED_ORIGINS = [
'..{url}..vercel.app',
]
Кроме того, в качестве бэкенда python я использую aapanel. Нужны ли еще какие-либо дополнительные настройки?
Спасибо.