我需要确定accountId和触发AWS Lambda函数的AWS账户的区域。我没有在ILambdaContext中找到这些信息。 如何获得这些信息? 它是由SNS触发的 我正在使用.Net Core 2.1
答案 0 :(得分:1)
如果您有权访问Lambda执行上下文,则可以直接从上下文对象中的InvokedLambdaFunctionArn提取AWS区域和AWS账户ID。 当您调用Lambda函数时,根据集成类型,处理程序将接受一个事件对象或两个参数-请求对象和执行上下文。
答案 1 :(得分:0)
您可以将AccountNumber添加到环境变量中,并阅读:
var accountNumber = System.Environment.GetEnvironmentVariable("AccountNumber")
答案 2 :(得分:0)
识别帐户 ID 的正确方法是使用安全令牌服务 (STS)。使用以下方法 https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/SecurityToken/MISecurityTokenServiceGetCallerIdentityGetCallerIdentityRequest.html
IAmazonSecurityTokenService.GetCallerIdentity
添加 Nuget 包 AWSSDK.SecurityToken ,然后创建 sts 客户端
onadd