我正在使用 localstack 进行本地 AWS 开发。 lambda 通过 API 网关公开。 每当 localstack 重新启动时(或者当它在另一台机器上第一次启动时),我必须再次创建该网关,它将有一个新生成的 ID。
就像这个控制台输出:
endpoints:
http://localhost:4566/restapis/0ulz03h9kk/local/_user_request_
如何让这个 URL 看起来更漂亮,这样我就可以有一个简单的前端启动脚本?或者至少,有没有办法让这个 id
0ulz03h9kk
有点硬编码?
您可以使用 localstack 中 api-gateway 设置上的标签创建自定义 API ID。
您可以在资源创建期间使用 custom_id 标签将自定义 ID 分配给 API Gateway REST 和 HTTP API。这对于确保 API 的静态端点 URL 非常有用,从而简化测试以及与其他服务的集成。
要将自定义 ID 分配给 API Gateway REST API,请使用带有
参数的 create-rest-api 命令。以下示例将自定义 ID“myid123”分配给 API:tags={"_custom_id_":"myid123"}
awslocal apigateway create-rest-api --name my-api --tags '{"_custom_id_":"myid123"}'
{
"id": "myid123",
....
}
您还可以配置协议类型,可能的值为 HTTP 和
WEBSOCKET:
awslocal apigatewayv2 create-api \
--name=my-api \
--protocol-type=HTTP --tags="_custom_id_=my-api"
{
"ApiEndpoint": "my-api.execute-api.localhost.localstack.cloud:4566",
"ApiId": "my-api",
"Name": "my-api",
"ProtocolType": "HTTP",
"Tags": {
"_custom_id_": "my-api"
}
}