亚马逊网络服务-AWS Lambda元数据,类似于Lambda的EC2元数据



AWS EC2元数据从EC2(duh!)中提供了关于自身的必要信息-lambda有等效的信息吗。

我理解lambda函数与EC2不同的多租户和短命行为,但像Account ID、VPC AZ、Region这样的基本信息将有助于实现AWS的许多自动化。

没有,很遗憾没有。上下文对象是最接近的对象,但它提供的信息非常有限。http://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html

如果您自己或以编程方式调用lambda函数,则可以在负载中传递帐户ID和区域。

您可以在部署lambda时设置环境变量:https://docs.aws.amazon.com/lambda/latest/dg/env_variables.html

已经存在AWS_REGIONAWS_DEFAULT_REGION变量:https://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html#lambda-环境变量。

event可以具有类似于requestContext.accountId的字段:https://docs.aws.amazon.com/lambda/latest/dg/eventsources.html?shortFooter=true#eventsources-api网关请求

在浏览Terraform的lambda_function配置时发现了这一点。

在Lambda的上下文对象中,您可以解析出在invoked_function_arn中查找的一些信息。

例如,在Python中:context.split(':')[3]会给你区域,context.split(':')[4]会给你aws帐户id,context.split(':')[6]会给你函数名(也可以在context.function_name 中找到

invoked_function_arn如下所示:

arn:aws:lambda:us-east-1:741063561123:函数:lambda_context

一旦您有了这些信息,您就可以使用aws库(例如,用于Python的boto3)来获取有关lambda(例如VPC、SG)的其余信息

最新更新