如何在Azure函数Node.js中动态设置要存储在Blob存储中的Blob名称?

时间:2018-11-15 08:44:32

标签: node.js azure azure-functions

我有一个活动功能,应该将消息存储在Blob存储中。我可以覆盖Blob存储中的文件,但是我需要以不同的名称存储数据。如何做到这一点? Azure函数不支持nodejs中的动态绑定。

function.json

1 个答案:

答案 0 :(得分:1)

找到一种解决方法,看看它是否有用。

除了blob输出绑定外,还有一个活动触发器来接收消息msg,我们可以在msg中放置自定义的blob名称,以使用blob绑定路径。

在协调器函数中调用活动函数

yield context.df.callActivity("YourActivity", {'body':'messagecontent','blobName':'myblob'});

然后修改Activity功能代码

context.bindings.myOutputBlob = context.bindings.msg.body;

它的function.json可以按预期使用blobName

{
  "bindings": [
    {
      "name": "msg",
      "type": "activityTrigger",
      "direction": "in"
    },
    {
      "name":"myOutputBlob",
      "direction": "out",
      "type": "blob",
      "connection": "AzureWebJobsStorage",
      "path": "azureblob/{blobName}"
    }
  ],
  "disabled": false
}