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

问题描述 投票:0回答:1

我们有一个功能,我们需要为客户端创建一个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'}
)

我可以使用二进制文件上传文件,但我无法使用表单数据上传文件。我也尝试过multipart / form-data。那么,您能否使用POSTMAN向我提出一些使用签名URL视频上传的请求?

任何帮助将受到高度赞赏。

谢谢。

python django boto pre-signed-url s3-bucket
1个回答
1
投票

您可以使用boto的build_post_form_args获取签名发布请求所需的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。

© www.soinside.com 2019 - 2024. All rights reserved.