Я пытаюсь загрузить большие файлы в Amazon S3 без использования учетных данных. Я создаю плагин для Octoprint с этим, и я не могу вставить какие-либо учетные данные в код из-за его общедоступности. В настоящее время мой код для загрузки выглядит следующим образом:
import boto3
from botocore import UNSIGNED
from botocore.client import Config
s3 = boto3.client('s3', config=Config(signature_version=UNSIGNED))
# Create an S3 client
filename = 'file.txt'
bucket_name = 'BUCKET_HERE'
s3.upload_file(filename, bucket_name, filename)
Однако, это дает мне следующую ошибку:
S3UploadFailedError: Failed to upload largefiletest.mp4 to BUCKETNAMEHERE/largefiletest.mp4: An error occurred (AccessDenied) when calling the CreateMultipartUpload operation: Anonymous users cannot initiate multipart uploads. Please authenticate.
Есть ли способ обойти это или есть предложения по альтернативным библиотекам? Все ценится.