Aws lambda 在lambda nodejs init期间调用异步函数安全吗?

Aws lambda 在lambda nodejs init期间调用异步函数安全吗?,aws-lambda,Aws Lambda,我想知道在NodeJS Lambda函数的Init阶段发出HTTP(S)请求是否安全。特别是,我想调用AWS SSM using或AWS KMS using来加载将在处理程序中使用的机密 我在网上发现了一个例子,有人在处理程序外创建了一个承诺,然后在处理程序内等待它(),但我还没有看到官方认可的这种方法。没有一个官方示例在处理程序之外做任何工作 根据“Lambda在运行时和每个扩展完成且没有未决事件时冻结执行环境。”详细介绍了http://${AWS\u Lambda\u runtime\u A

我想知道在NodeJS Lambda函数的
Init
阶段发出HTTP(S)请求是否安全。特别是,我想调用AWS SSM using或AWS KMS using来加载将在处理程序中使用的机密

我在网上发现了一个例子,有人在处理程序外创建了一个
承诺,然后在处理程序内等待它(),但我还没有看到官方认可的这种方法。没有一个官方示例在处理程序之外做任何工作

根据“Lambda在运行时和每个扩展完成且没有未决事件时冻结执行环境。”详细介绍了
http://${AWS\u Lambda\u runtime\u API}/2018-06-01/runtime/invocation/next
端点,不要在GET调用上设置超时。在Lambda引导运行时和运行时返回事件之间,运行时进程可能会冻结几秒钟我认为这意味着Lambda将在
下一次调用时用
SIGSTOP
向进程发送信号(如果已启用)以及请求之间

此外,当我查看lambcli的(
docker run-it--rm lambci/lambda:build-nodejs12.x cat/var/runtime/runtime.js
)时,我看到
scheduleIteration
调用
setImmediate(()=>this.handleoce())
它调用了
this.client.nextInvocation
,所以我看不出有什么方法可以延迟
nextInvocation
调用

问题:

  • 在Lambda nodejs运行时中,是否可以执行HTTP请求并完全在
    函数init
    阶段等待其响应
  • 如果您在处理程序之外发出请求,服务器是否会超时连接,从而在处理程序等待响应时导致连接关闭错误
  • 是否有更好的建议方法来执行机密的一次性初始化