CDK 一个 ApiMapping 密钥可能只包含字母、数字和其中之一...错误
CDK An ApiMapping key may contain only letters, numbers and one of... error
我正在尝试创建一个带有斜杠的 API 网关映射,但 CDK 给我一个格式错误:
Error: An ApiMapping key may contain only letters, numbers and one of $-_.+!*'(),
我使用的代码:
apigatewayv2.ApiMapping(self, "AccountsGetBasePathMapping",
api=accounts_get_api,
domain_name=apigateway.DomainName.from_domain_name_attributes(self, "ApiMyDomainComApiGwCustomDomain",
domain_name="api.mydomain.com",
domain_name_alias_hosted_zone_id="xxxx",
domain_name_alias_target="xxxx.execute-api.eu-west-1.amazonaws.com."
),
api_mapping_key="accounts/get",
stage=accounts_get_api_stage,
)
但是,如果我在控制台中尝试相同的操作,则允许使用斜杠字符:
这是 AWS CDK 的限制吗?
api_mapping_key
表示:
此阶段在自定义域上应映射到的路径
这是可选的,因此它不会 api_context_path 正如您在上面 accounts/get
例如:有一些API你想分离,你可以定义:
在自定义域上,您定义 api.mydomain.com/apiv1
所以 api_mapping_key
在这种情况下是 apiv1
,acount
路径应该是:api.mydomain.com/apiv1/account
我正在尝试创建一个带有斜杠的 API 网关映射,但 CDK 给我一个格式错误:
Error: An ApiMapping key may contain only letters, numbers and one of $-_.+!*'(),
我使用的代码:
apigatewayv2.ApiMapping(self, "AccountsGetBasePathMapping",
api=accounts_get_api,
domain_name=apigateway.DomainName.from_domain_name_attributes(self, "ApiMyDomainComApiGwCustomDomain",
domain_name="api.mydomain.com",
domain_name_alias_hosted_zone_id="xxxx",
domain_name_alias_target="xxxx.execute-api.eu-west-1.amazonaws.com."
),
api_mapping_key="accounts/get",
stage=accounts_get_api_stage,
)
但是,如果我在控制台中尝试相同的操作,则允许使用斜杠字符:
这是 AWS CDK 的限制吗?
api_mapping_key
表示:
此阶段在自定义域上应映射到的路径
这是可选的,因此它不会 api_context_path 正如您在上面 accounts/get
例如:有一些API你想分离,你可以定义:
在自定义域上,您定义 api.mydomain.com/apiv1
所以 api_mapping_key
在这种情况下是 apiv1
,acount
路径应该是:api.mydomain.com/apiv1/account