我想使用带有S3网页的重定向。 AWS Configuring a Web Page Redirect文档说明要设置x-amz-website-redirect-location
属性,但这似乎不可设置。如果我尝试设置密钥,则S3会在密钥前加x-amz-meta-
(使其为user-defined metadata),并且修改后的密钥不会导致重定向。
我使用aws CLI设置元数据:
aws s3api copy-object --copy-source static.righto.com/zero \
--bucket static.righto.com --key bar \
--metadata x-amz-website-redirect-location=http://righto.com/bar \
--metadata-directive REPLACE
但是当我查看S3控制台时,元数据名称已经被添加了前缀,并且忽略了重定向。
如果我使用Python API,也会发生同样的事情:
s3.Bucket('static.righto.com').put_object(Key=src, Body='',
Metadata={'x-amz-website-redirect-location': dst})
如果我尝试在S3控制台中设置x-amz-website-redirect-location
元数据键,则会收到错误“用户定义的元数据键必须以x-amz-meta开头。”
x-amz-website-redirect-location
是否不受支持?
如果我在控制台中设置“网站重定向位置”元数据然后重定向工作,那么问题不是this answer中的重定向端点问题。但我不能使用“网站重定向位置”作为API中的元数据键。
答案 0 :(得分:2)
使用--website-redirect-location <value>
。
http://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html
x-amz-website-redirect-location
不是用户元数据(x-amz-meta-*
),这是--metadata
选项的用途。