我们有一个功能,我们需要为客户端创建一个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视频上传的请求?
任何帮助将受到高度赞赏。
谢谢。
您可以使用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。