0

我正在尝试在我的 Lambda 代码中检索 apigateway 名称。我在 AWS http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html上引用了以下文档。

我知道我们可以使用上下文变量检索 API ID。但是我有兴趣检索创建的 API 的实际名称。有没有办法得到它?

提前致谢。

4

2 回答 2

1

据我所知,您无法直接获取 API Gateway名称,但可以获取 API Gateway Id

事件和上下文都被传入。在事件中,有一个名为“requestContext”的键。在请求上下文中是“apiId”键。

然后,如果需要,您可以使用 API 密钥 ID 来查找名称。

于 2017-12-04T19:35:19.190 回答
0

不幸的是,您将无法直接从上下文中获取 API 名称,您只能获取其标识符。

获取此信息的一种方法是根据上下文中的 ID 获取 API 信息:

response = client.get_rest_api(
    restApiId='string'
)

然后您将收到以下回复:

{
    'id': 'string',
    'name': 'string',
    'description': 'string',
    'createdDate': datetime(2015, 1, 1),
    'version': 'string',
    'warnings': [
        'string',
    ],
    'binaryMediaTypes': [
        'string',
    ],
    'minimumCompressionSize': 123,
    'apiKeySource': 'HEADER'|'AUTHORIZER',
    'endpointConfiguration': {
        'types': [
            'REGIONAL'|'EDGE'|'PRIVATE',
        ]
    },
    'policy': 'string'
}

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/apigateway.html#APIGateway.Client.get_rest_api

于 2019-03-26T15:40:56.093 回答