如何获取使用java调用aws lambda的api网关的名称

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

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

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

提前致谢。

amazon-web-services aws-lambda aws-sdk aws-api-gateway serverless
2个回答
1
投票

据我所知,您无法直接获取API网关名称,但您可以获取API网关ID。

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

然后,您可以使用API​​密钥ID在需要时查找名称。


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

© www.soinside.com 2019 - 2024. All rights reserved.