如何在heroku上使用python中的boto3将文件上传到s3?

Jer*_*y T 3 python heroku amazon-s3 boto3

网上的所有示例似乎都使用 boto。我可以使用什么代码使用 boto3 将文件上传到 s3?

我正在尝试使用官方文档中的代码,但出现版本 4 身份验证失败的错误。

Jer*_*y T 7

根据快速入门指南将您的密钥放入密钥文件中,然后使用以下代码:

       import boto3
       s3 = boto3.resource(service_name='s3', region_name='REGION_NAME')
       data = open('PATH_TO_FILE_ON_DISK', 'rb')
       s3.Bucket('BUCKET_NAME').put_object(Key='FILENAME_ON_S3', Body=data)
Run Code Online (Sandbox Code Playgroud)

官方文档并没有说清楚区域名称是必需的,否则可能会报错,并且无法在heroku上存储区域的配置文件。它必须包含在资源调用中。