如何使用 Python Boto v2.38.0 创建的签名 URL 在 S3 存储桶上上传视频



>我们有一个功能,我们需要为客户端创建一个 s3 存储桶签名 URL。 客户端将在该 URL 上上传视频。

我们使用 Boto 版本 2.38.0 来生成签名 URL。

conn = boto.connect_s3()
key = "test_key"
bucket = "test_bucket"
signed_url = conn.generate_url(
    expires_in=600,
    method="PUT",
    bucket=bucket,
    key=key,
    headers={'Content-Type': 'application/octet-stream'}
)

我可以用二进制文件上传文件,但我不能上传带有表单数据的文件。我也尝试了相同的多部分/表单数据。那么,您能否建议我一些使用 POSTMAN 上传签名 URL 视频的请求?

任何帮助将不胜感激。

谢谢。

您可以使用

boto 的build_post_form_args来获取执行签名的 post 请求所需的 HTML 表单数据:

conn = connection.S3Connection(
    aws_access_key_id=settings.AWS_ACCESS_KEY_ID,
    aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY,
)
data = conn.build_post_form_args(
    bucket_name=bucket_name,
    acl='public-read',
    storage_class=None,
    http_method="https",
)

您将获得一个包含表单字段名称和值以及要 POST 的 URL 的字典。

相关内容

  • 没有找到相关文章

最新更新