[英]How can I use a BlobTrigger to bind to CloudBlockBlob in an Azure Function?
I have the following function in my project: 我的项目中具有以下功能:
[FunctionName("my-func")]
public static async Task Run([BlobTrigger("data/{name}")] CloudBlockBlob blob, string name, TraceWriter log)
{
log.Info($"Started Processing: {name}");
await blob.DeleteAsync();
log.Info($"Finished Processing: {name}");
}
When I attempt to run the function locally using v1.0.4 of the Azure Functions CLI I get this error: 当我尝试使用Azure Functions CLI的v1.0.4在本地运行该函数时,出现以下错误:
Microsoft.Azure.WebJobs.Host: Error indexing method 'SampleFunction.Run'. Microsoft.Azure.WebJobs.Host: Can't bind BlobTrigger to type 'Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob'.
All documentation I have seen for Azure Functions and WebJobs SDK say this is supported. 我所见过的有关Azure Functions和WebJobs SDK的所有文档都说支持。
https://github.com/Azure/azure-webjobs-sdk/wiki/Blobs#-types-that-you-can-bind-to-blobs https://github.com/Azure/azure-webjobs-sdk/wiki/Blobs#-types-that-you-can-bind-to-blobs
You are probably referencing some NuGet package that has a dependency on non-compatible version of WindowsAzure.Storage
assembly (version 8.xx
). 您可能引用了某些依赖于WindowsAzure.Storage
程序集(版本8.xx
)的不兼容版本的NuGet程序包。 If so, be sure to remove it. 如果是这样,请确保将其删除。 Unless you are using some additional binding, your csproj
references should look as simple as this: 除非使用其他绑定,否则您的csproj
引用应该看起来像这样简单:
<ItemGroup>
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.6" />
</ItemGroup>
Make sure you are running the Azure Storage Emulator: 确保您正在运行Azure存储模拟器:
cd C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator
C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator> AzureStorageEmulator.exe start
Windows Azure Storage Emulator 5.2.0.0 command line tool
Autodetect requested. Autodetecting SQL Instance to use.
Looking for a LocalDB Installation.
Probing SQL Instance: '(localdb)\MSSQLLocalDB'.
Found a LocalDB Installation.
Probing SQL Instance: '(localdb)\MSSQLLocalDB'.
Found SQL Instance (localdb)\MSSQLLocalDB.
Creating database AzureStorageEmulatorDb52 on SQL instance '(localdb)\MSSQLLocalDB'.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.