首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure函数绑定是否按顺序执行?

Azure函数绑定是否按顺序执行?
EN

Stack Overflow用户
提问于 2017-11-20 09:39:58
回答 1查看 474关注 0票数 1

在给定的Azure函数中,我可以有一个或多个输出绑定。例如,我可能有blob存储输出(将文件blob写入存储)和队列输出(将消息推入队列)。

例如,如果我有一个非常简单的Azure函数(用Node.js编写).

代码语言:javascript
复制
module.exports = function (context, req) {
    context.log('START: Multi-output function.');

    context.bindings.outputBlob = "blob-contents";
    context.bindings.outputQueueItem = "{'message': 'hello!'}";

    context.done();
};

..。在function.json中设置输出绑定,如下所示。

代码语言:javascript
复制
{
  "bindings": [
    {
      "authLevel": "function",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req"
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    },
    {
      "type": "blob",
      "name": "outputBlob",
      "path": "outcontainer/{rand-guid}",
      "connection": "AzureWebJobsDashboard",
      "direction": "out"
    },
    {
      "type": "queue",
      "name": "outputQueueItem",
      "queueName": "outqueue",
      "connection": "AzureWebJobsDashboard",
      "direction": "out"
    }
  ],
  "disabled": false
}

..。这两个输出绑定在什么时候真正触发,以什么顺序进行?

对于是问题的一部分:

  1. 它们是否在函数设置输出绑定的点触发?(例如设置context.bindings.outputBlob的代码行)
  2. 他们在context.done()之后开火吗?

对于问题的order部分:

  1. 他们按照代码中的顺序开火吗?
  2. 他们是否按照在function.json中看到的顺序开火?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-20 10:28:12

函数执行完成后-在context.done()之后触发输出绑定。

在代码中设置它们的顺序对绑定执行没有影响。

如果可以的话,将实际的执行顺序视为实现细节,而不依赖于它。话虽如此,如果我没有弄错的话,实际的命令是:

  • 按照function.json的顺序执行所有非队列绑定
  • 然后,按照function.json的顺序执行所有队列绑定

更新:基于本期本期,我得出结论,目前订单没有得到保证。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47388918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档