web-dev-qa-db-ja.com

Javascript / Nodejs Lambda関数でAWSリージョンを取得する方法:

Nodejs/Javascript AWS Lambda関数内からリージョンを識別するにはどうすればよいですか?

AWS_DEFAULT_REGION環境変数はReferenceErrorを与えます(ノード/ JavascriptではなくJava用の ここ を参照してください)。

コンテキストオブジェクトから「invokedFunctionArn」を取得してリージョンを解析できることに気付きましたが、もっと直接的な方法があるはずです。

10
ktippetts
31
Andrew Clark

渡されたコンテキストを見ることができます。そこで発見するより多くの良い点があるかもしれません。

exports.handler = function(event, context) {
    console.log('Function name:', context.functionName);
    context.succeed();
};

単に地域を教えてくれるものは何も知りません。醜いハックは、含まれているOS(Linux)で何かを実行し、情報が表示されることを期待することです。 uname -a多分。

私はただ興味があります。何のために必要ですか?ある種のデバッグ情報?

0
Bela Vizy

Context.invokedFunctionArnプロパティを使用する以外に、実行中のラムダ関数で領域を識別するためのより直接的な方法はないようです。

これが私がやったことです:

exports.handler = (event,context, callback) => {
    var arnList = (context.invokedFunctionArn).split(":");
    var lambdaRegion = arnList[3] //region is the fourth element in a lambda function arn


    //more code
}
0
ktippetts