認証情報を使用せずに、大きなファイルを 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.
これを回避する方法はありますか、または代替ライブラリの提案はありますか? 何でも大歓迎です。