我正在使用无服务器框架使用 S3、Lambda 和 API Gateway 创建图像大小调整服务。这与此处的概念相似,但这将使用无服务器来设置和配置整个堆栈。
现在我需要找到一种体面的方法来引用 serverless.yml 文件中生成的 API Gateway 的主机名。这是我在我的资源下拥有的。(只是一个片段)
imageBucket:
Type: AWS::S3::Bucket
Properties:
BucketName: ${env:IMAGE_BUCKET}
WebsiteConfiguration:
RoutingRules:
-
RedirectRule:
Hostname: ${HOSTNAME HERE}
HttpRedirectCode: 302
RoutingRuleCondition:
HttpErrorCodeReturnedEquals: 404
它说 ${HOSTNAME HERE} 我需要成为无服务器框架生成的 API Gateway API 的主机名。
现在,我能想到的最好方法是在某处创建一个 CNAME 别名并在我的 API 前面使用它。然后我将该 CNAME 作为环境变量传递,然后在此文件中引用它。但这对我来说并不理想。我希望有人能够将这个项目拉下来,并能够只用一个存储桶名称来运行它。有没有办法做到这一点?