我有一个Azure计时器触发器函数,它应该进行一些计算并将结果写入预先存在的blob中的json文件。如何在Timer Triggered函数中引用预先存在的blob?
我似乎找不到任何提供代码示例的文档。有人可以提供吗?
答案 0 :(得分:4)
首先,您需要更新 function.json 配置文件,以将blob绑定到您将在.csx代码中使用的CloudBlockBlob实例。您可以在功能应用菜单中通过功能下的“集成”选项(带有照明图标的选项)在Azure门户中编辑它。该页面的右上角是一个名为“高级编辑器”的链接。点击该链接将转到您的功能性 function.json 文件:
您将看到一个名为“bindings”的JSON数组,其中包含一个配置计时器的JSON对象。您需要将另一个JSON对象添加到该数组,以将Blob绑定到您将在函数中引用的CloudBlockBlob实例。你的function.json文件看起来像这样:
{
"bindings": [
{
"name": "myTimer",
"type": "timerTrigger",
"direction": "in",
"schedule": "0 */5 * * * *"
},
{
"type": "blob",
"name": "myBlob",
"path": "your-container-name/your_blob_filename.json",
"connection": "AzureWebJobsStorage",
"direction": "inout"
}
],
"disabled": false
}
现在您只需更新函数的Run方法签名即可。默认情况下看起来像这样:
public static void Run(TimerInfo myTimer, TraceWriter log)
将blob变量添加到该签名的末尾(并添加必要的包含):
#r "Microsoft.WindowsAzure.Storage"
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
public static void Run(TimerInfo myTimer, TraceWriter log, CloudBlockBlob myBlob)
你们都准备好了! “myBlob”绑定到“your-container-name”容器中的blob“your_blob_filename.json”。