Python 3.x 通过boto3上传文件api将文件上传至AWS S3;匿名用户无法启动多部分上载。请验证。”;错误
我有一个大约16mb大小的文件,我正在使用python boto3 upload_file api将这个文件上传到S3存储桶中。但是,我相信API在内部选择了多部分上传,并给了我一个“匿名用户无法启动多部分上传”错误 在应用程序的某些运行中,生成的文件可能更小(几KBs)。 一般来说,处理这种情况或修复我上面提到的错误的最佳方法是什么Python 3.x 通过boto3上传文件api将文件上传至AWS S3;匿名用户无法启动多部分上载。请验证。”;错误,python-3.x,amazon-web-services,amazon-s3,boto3,Python 3.x,Amazon Web Services,Amazon S3,Boto3,我有一个大约16mb大小的文件,我正在使用python boto3 upload_file api将这个文件上传到S3存储桶中。但是,我相信API在内部选择了多部分上传,并给了我一个“匿名用户无法启动多部分上传”错误 在应用程序的某些运行中,生成的文件可能更小(几KBs)。 一般来说,处理这种情况或修复我上面提到的错误的最佳方法是什么 我目前有一个Django应用程序,它在运行时生成一个文件,并将该文件直接上传到S3存储桶中。好的,所以除非您已经打开S3存储桶供世界上传(这是非常不推荐的),否则
我目前有一个Django应用程序,它在运行时生成一个文件,并将该文件直接上传到S3存储桶中。好的,所以除非您已经打开S3存储桶供世界上传(这是非常不推荐的),否则听起来您需要正确设置访问S3存储桶的权限 如何做到这一点会因您运行此应用程序的方式而有所不同-因此,让我们介绍一些选项-在所有情况下,您都需要做两件事:
- 将脚本与IAM主体(IAM用户或IAM角色,具体取决于此脚本的运行位置/方式)关联
- 为该主体添加访问bucket的权限(这可以通过IAM策略或S3 bucket策略实现)
多部分上传是通过与单部分上传相同的S3:PutObject调用执行的(尽管如果您的文件很小,我会很惊讶它使用多部分进行上传)。如果您使用KMS,需要注意的一个小技巧是,如果对多部分上传进行加密,您需要获得使用KMS密钥进行加密和解密的权限。好的,除非您已经打开S3存储桶供世界上传(这是非常不推荐的),听起来您需要正确设置访问S3存储桶的权限 如何做到这一点会因您运行此应用程序的方式而有所不同-因此,让我们介绍一些选项-在所有情况下,您都需要做两件事:
- 将脚本与IAM主体(IAM用户或IAM角色,具体取决于此脚本的运行位置/方式)关联
- 为该主体添加访问bucket的权限(这可以通过IAM策略或S3 bucket策略实现)
多部分上传是通过与单部分上传相同的S3:PutObject调用执行的(尽管如果您的文件很小,我会很惊讶它使用多部分进行上传)。如果使用KMS,需要注意的一个小技巧是,如果对多部分上传进行加密,则需要获得使用KMS密钥进行加密和解密权限的权限。Django应用程序如何向AWS进行身份验证?或者只是使用通过Bucket策略授予的匿名权限?您如何限制任何人上传到bucket的能力?您是否有可以生成预签名URL的后端应用程序?这是bucket上的匿名权限。我知道这是一种非常糟糕的方式!Django应用程序如何向AWS进行身份验证?或者只是使用通过Bucket策略授予的匿名权限?您如何限制任何人上传到bucket的能力?您是否有可以生成预签名URL的后端应用程序?这是bucket上的匿名权限。我知道这是一种非常糟糕的方式!对角色使用IAM策略并使其正常工作。谢谢。将IAM策略用于角色并使其正常工作。T