【问题标题】:Async initialization of a NodeJs Azure Function AppNodeJs Azure Function App 的异步初始化
【发布时间】:2022-11-04 17:01:44
【问题描述】:

我有一个典型的 NodeJS Azure 函数应用程序,里面有一个函数,由 Typescript 中的func 标准 CLI 生成。

该函数具有默认结构:

const httpTrigger: AzureFunction = async function (context: Context,
    req: HttpRequest): Promise<void> {
...
   const mySecret = await secretClient.getSecret(mySecretName);
...
}

现在,处理程序的每次调用都会触发对 KeyVault 的调用,这在我的应用程序地图上看起来非常缓慢且呈红色。因此,我正在研究将秘密读数移至该部分触发。据我了解,如果函数是温暖的,那么触发器将不会花时间一次又一次地获取秘密。 (我强调这是我的猜测,但不是一个确凿的事实,因为我并不完全熟悉 Function App 的生命周期)。

如何正确实现逻辑“对函数进行此异步初始化并仅在完全完成后才允许调用触发器”?

【问题讨论】:

    标签: node.js azure azure-functions


    【解决方案1】:

    如果您的 Azure fn 应用程序至少运行 Node v14.8.0,您可以简单地使用顶级 await :)

    const mySecret = await secretClient.getSecret(mySecretName);
    
    const httpTrigger: AzureFunction = async function (
        context: Context,
        req: HttpRequest
    ): Promise<void> {
    ...
    
    }
    

    【讨论】:

      猜你喜欢
      • 2020-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-02
      相关资源
      最近更新 更多