【发布时间】:2019-07-29 23:15:23
【问题描述】:
我想在我的 s3 存储桶中放置一个对象,该对象将重定向到我的代码构建徽章。
我通过以下命令获得代码构建徽章:
CODEBUILD_BADGE_URL=$(\
aws codebuild batch-get-projects \
--name Push \
--query "projects[0].badge.badgeRequestUrl" \
--output text \
)
接下来,我将获得 unknown.svg 徽章以防我的 codebuild 徽章 url 发生变化,并设置对象 --metadata 以配置 website-redirect-location。
我的尝试是:
curl https://s3.amazonaws.com/codefactory-us-east-1-prod-default-build-badges/unknown.svg > ./badge.svg
aws s3 cp ./badge.svg s3://example.com/badge --metadata "Website-Redirect-Location=$CODEBUILD_BADGE_URL"
我还添加了这个元数据,以防上面的错误:
aws s3 cp ./badge.svg s3://example.com/badge --website-redirect $CODEBUILD_BADGE_URL
当我访问:http://example.com/badge 或 https://s3.amazonaws.com/example.com/badge 时,我会得到 unknown.svg 徽章。
请求具有以下响应标头:
x-amz-meta-website-redirect-location: https://codebuild.us-east-1.amazonaws.com/badges?uuid=eyJlbmlong%3D&branch=master
x-amz-request-id: D83EBREQUESTID
x-amz-website-redirect-location: https://codebuild.us-east-1.amazonaws.com/badges?uuid=eyJlbmlong%3D&branch=master
和一个 200 响应代码。
我的 example.com 存储桶属性已将 Static website hosting 配置为 Bucket hosting。
如何配置此对象以重定向到所需的代码构建 url?这是解决此类问题的合理方法吗?
【问题讨论】:
标签: amazon-web-services redirect svg amazon-s3 http-status-code-302