如何在 Localstack 中为 API 网关提供永久 url

问题描述 投票:0回答:1

我正在使用 localstack 进行本地 AWS 开发。 lambda 通过 API 网关公开。 每当 localstack 重新启动时(或者当它在另一台机器上第一次启动时),我必须再次创建该网关,它将有一个新生成的 ID。

就像这个控制台输出:

endpoints:
  http://localhost:4566/restapis/0ulz03h9kk/local/_user_request_

如何让这个 URL 看起来更漂亮,这样我就可以有一个简单的前端启动脚本?或者至少,有没有办法让这个 id

0ulz03h9kk
有点硬编码?

amazon-web-services aws-lambda aws-api-gateway localstack
1个回答
0
投票

您可以使用 localstack 中 api-gateway 设置上的标签创建自定义 API ID。

根据 API Gateway LocalStack 文档

您可以在资源创建期间使用 custom_id 标签将自定义 ID 分配给 API Gateway REST 和 HTTP API。这对于确保 API 的静态端点 URL 非常有用,从而简化测试以及与其他服务的集成。

要将自定义 ID 分配给 API Gateway REST API,请使用带有

tags={"_custom_id_":"myid123"}
参数的 create-rest-api 命令。以下示例将自定义 ID“myid123”分配给 API:

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"
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.