我收到此错误:
Microsoft.Azure.WebJobs.Host:只有'Read'FileAccess模式 支持blob容器绑定。
根据docs,应该支持out?
我最初尝试在方法定义中添加了Attributes
。但是,我得到了相同的错误,所以我删除了方法定义中的所有属性,因此新的方法定义是:
public static async Task RunAsync(CloudBlockBlob myBlob, string name,
IAsyncCollector<ProfilePictureUrl> client, CloudBlockBlob resizedBlob, TraceWriter log)
这是我的function.json
{
"bindings": [
{
"type": "blobTrigger",
"path": "profile-pictures/{name}",
"direction": "in",
"name": "myBlob"
},
{
"type": "documentDB",
"databaseName": "TestDB",
"collectionName": "ResizedProfilePictures",
"createIfNotExists": true,
"direction": "out",
"name": "client"
},
{
"type": "blob",
"path": "resized-profile-pictures",
"direction": "out",
"name": "resizedBlob"
}
],
"disabled": false,
"scriptFile": "..\\Test.Functions.dll",
"entryPoint": "Test.Functions.ResizeImage.RunAsync"
}
我正在使用Azure CLI beta 100.如果我从方法定义和function.json中删除resizedBlob
,那么它可以正常工作。
答案 0 :(得分:1)
必须将CloudBlobContainer绑定为输入绑定。这是一个有效的例子:
#r "Microsoft.WindowsAzure.Storage"
using Microsoft.WindowsAzure.Storage.Blob;
public static void Run(Stream input, Stream output,
CloudBlobContainer container, TraceWriter log)
{
var blobs = container.ListBlobs();
log.Info($"{blobs.Count()} blobs in container.");
}
和相应的function.json:
{
"bindings": [
{
"name": "input",
"type": "blobTrigger",
"direction": "in",
"path": "input/{name}",
"connection": "test_STORAGE"
},
{
"name": "container",
"type": "blob",
"direction": "in",
"path": "input",
"connection": "test_STORAGE"
}
]
}
答案 1 :(得分:0)
CloudBlobContainer
不是listed作为输出绑定的受支持类型。因此,您需要使用列出的类型之一。
我想,您正在尝试动态设置输出文件的名称。要实现此目的,您需要将名称绑定到触发器参数(例如{name}
),或者使用命令式绑定(就像您已经为输出绑定所做的那样)。
如果您有其他用例,请使用代码示例扩展您的问题。
如果您确实需要CloudBlobContainer
参数,请将其列为另一个in
绑定。
答案 2 :(得分:0)
这应该适用于新发布的函数VS工具(非预览版)。你能更新到最新的位吗?
对于VS工具,函数现在以与webjobs相同的方式直接加载DLL,因此所有webjobs绑定都将按原样工作。然后,Function.json中唯一的东西是触发器绑定和&#34; configurationSource&#34;:&#34;属性&#34;属性。该属性告诉它使用属性而不是function.json。 [1]
[1]见https://github.com/Azure/azure-webjobs-sdk-script/issues/1508
答案 3 :(得分:0)
问题是一个错误,现在已在最新版本的函数中修复。
https://github.com/Azure/azure-webjobs-sdk-script/issues/1783