【问题标题】:How to return results from the synhcronous Azure Function in Nodejs如何从 Nodejs 中的同步 Azure 函数返回结果
【发布时间】:2020-06-25 13:33:53
【问题描述】:

我们如何在 Azure 同步函数应用中返回数据。这是我编写的用于连接 azure key vault 并捕获机密的代码,但它返回 null 结果。如果我不使用 context.done() 那么它会无限运行。

module.exports = function (context, req) {
    var responseMessage = "starting Execution"
    //Capturing the Credentials from the Azure Key vault for the snowflake
    const { DefaultAzureCredential } = require("@azure/identity");
    const { SecretClient } = require("@azure/keyvault-secrets");
    const keyVaultName = "someKVname";
    const KVUri = "https://" + keyVaultName + ".vault.azure.net";
    const credential = new DefaultAzureCredential();
    const client = new SecretClient(KVUri, credential);

    let snowflake_username = async function(client){
        const usr_retrievedSecret = await client.getSecret("username"); 
        return usr_retrievedSecret.value;
    };


    var snf_user = snowflake_username();
    context.log(snf_user);
    context.done();
    return snf_user;
}

任何想法如何返回用户名?

【问题讨论】:

    标签: node.js azure azure-functions azure-function-app


    【解决方案1】:

    您可以尝试将snf_user 放在响应正文中而不是return,如下所示:

    module.exports = function (context, req) {
        context.log('JavaScript HTTP trigger function processed a request.');
    
        //..........
    
        function snowflake_username(){ 
    
            //..............
    
            return 111;
        }
        var snf_user = snowflake_username();
        context.log(snf_user);
        context.res = {
            body: snf_user
        };
        context.done();
    };
    

    然后你可以从响应正文中获取 snf_user。:)

    【讨论】:

      猜你喜欢
      • 2016-03-11
      • 1970-01-01
      • 1970-01-01
      • 2011-11-07
      • 1970-01-01
      • 2020-09-21
      • 1970-01-01
      • 2020-03-15
      • 1970-01-01
      相关资源
      最近更新 更多