问题描述
我正在使用 AWS SAM。
从文档中,我看到“阶段名称只能包含字母数字字符、连字符和下划线,或者是 $default。”
但是当我尝试时:
Resources:
ExpressApi:
Type: AWS::Serverless::Api
Properties:
StageName: '$default'
堆栈创建失败并显示消息:
阶段名称只允许 a-zA-Z0-9_
我只想能够在路径中使用没有 StageName 的 API 基本 URL。我的 API 只有一个阶段。
有没有办法在不将自定义域连接到 API 的情况下做到这一点?
解决方法
对于HTTP API:
StageName 是可选的,因为 HTTP API 默认创建 $default
阶段,无需任何前缀即可访问并自动部署。
如果未指定名称,AWS SAM 将使用
来自 API 网关的 $default 阶段
对于REST API
舞台名称是必需的。 Rest API 没有自动部署。 SAM 模板在幕后创建该阶段并将代码部署到该阶段,它只允许 a-zA-Z0-9_