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

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

你想定义自己的 Blob 名称还是像 sys.randGuid 这样的随机名称可以接受? - Jerry Liu
我已经使用了"path":"azureblob/{rand-guid}",这给出了唯一的名称。但有没有办法指定名称呢?@JerryLiu - Nafis Islam
1个回答

2

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

除了 blob 输出绑定外,还有一个活动触发器可以接收消息 msg,我们可以将自定义的 blob 名称放在 msg 中作为 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
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接