我目前正在尝试使用aws-api网关CLI来创建多级基本路径映射。我正在运行以下命令:
aws apigateway create-base-path-mapping
--domain-name example.com --base-path orders/v2
--rest-api-id abcd --stage production
这给了我一个错误:
调用CreateBasePathMapping操作时发生错误(
BadRequestException
(:API网关V1不支持基路径映射中的斜线字符(/
(。若要创建多级基本路径映射,请使用API网关V2。
这与https://aws.amazon.com/blogs/compute/using-multiple-segments-in-amazon-api-gateway-base-path-mapping/其声明RESTApi使用Api网关V1。当尝试使用API网关V2时,我们会收到一个错误,说明它只能用于HTTP API。
如何为RESTAPI创建多级基本路径映射
我看到了这篇文章,它表明您需要调用apigatewayv2
调用。有趣的是,V2似乎只支持Regional端点,而不支持Edge端点。如果你有一个地区性的,你可以打电话给:
aws apigatewayv2 create-api-mapping /
--domain-name domain.com --api-mapping-key orders/v2 /
--api-id abcd --stage production
我在尝试对Edge端点运行上述程序时遇到的错误是
调用CreateApiMapping操作时发生错误(BadRequestException(:只能通过API网关V2 API管理REGIONAL域名。对于EDGE域名,请使用API网关V1 API。还要注意,只有REST API可以连接到EDGE域名。
我在这里寻找答案https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-edge-optimized-custom-domain-name.html#how-到自定义域映射控制台
但没有提及未被支持的"/"基本路径字符可悲。
没有。不幸的是,到目前为止,AWS::ApiGateway::RestAPI资源类型仍然不支持这一点。
嗨,分享我的经验。即使使用v2,也会损害mTLS,因为mTLS域资源将由于v1和v2不一致而出错。这是一个我还没有弄清楚的循环。