如何确定AWS Lambda函数中的当前区域?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何确定AWS Lambda函数中的当前区域?相关的知识,希望对你有一定的参考价值。
Regions.getCurrentRegion()
从AWS Lambda函数中返回null。似乎AWS Lambda函数不支持Regions.getCurrentRegion()
。有没有另一种方法来确定lambda函数运行的区域?
注意:AWS Lambda函数是用Java编写的。
您可以阅读AWS_REGION
环境变量并使用Regions.fromName
函数将其解析为可用区域。
Regions.fromName(System.getenv("AWS_REGION"))
这相对于ARN解析方法的优点是您不需要Context对象,这意味着您可以在处理函数之外使用它。
资料来源:AWS's Lambda environment variables docs。
所有Lambda容器都具有设置$AWS_REGION
的环境变量
来自Lambda中的Java代码。您可以按如下方式访问它
System.getenv("AWS_REGION")
传递给Lambda函数的context
对象具有一个名为invokedFunctionArn
的属性。 ARN的格式如下:
arn:aws:<service>:<region>:<account_id>:<resource>
因此,您可以在:
字符上拆分此字符串,并找到与Lambda函数关联的区域。
注意:在java中,您将调用上下文对象的getInvokedFunctionArn()
getter。
1)您可以使用环境变量并将其作为
System.getenv("AWS_REGION")
以下是环境变量的列表,这些变量是AWS Lambda执行环境的一部分,可供Lambda函数使用。下表列出了AWS Lambda保留哪些不可更改的内容,以及创建Lambda函数时可以设置的内容。有关在Lambda函数中使用环境变量的更多信息
https://docs.aws.amazon.com/lambda/latest/dg/lambda-environment-variables.html
2)您可以阅读AWS_DEFAULT_REGION环境变量
Regions.fromName(System.getenv("AWS_DEFAULT_REGION"))
以上是关于如何确定AWS Lambda函数中的当前区域?的主要内容,如果未能解决你的问题,请参考以下文章
aws lambda 函数可以向专用网络中的端点发布帖子吗?