如何使用 BlobTrigger 绑定到 Azure 函数中的 CloudBlockBlob?
How can I use a BlobTrigger to bind to CloudBlockBlob in an Azure Function?
我的项目中有以下功能:
[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}");
}
当我尝试使用 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'.
我看到的所有关于 Azure Functions 和 WebJobs SDK 的文档都说这是受支持的。
https://github.com/Azure/azure-webjobs-sdk/wiki/Blobs#-types-that-you-can-bind-to-blobs
您可能引用了一些依赖于 WindowsAzure.Storage
程序集(版本 8.x.x
)的不兼容版本的 NuGet 包。如果是这样,请务必将其删除。除非您使用一些额外的绑定,否则您的 csproj
引用应该看起来像这样简单:
<ItemGroup>
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.6" />
</ItemGroup>
确保您是 运行 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'.
我的项目中有以下功能:
[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}");
}
当我尝试使用 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'.
我看到的所有关于 Azure Functions 和 WebJobs SDK 的文档都说这是受支持的。
https://github.com/Azure/azure-webjobs-sdk/wiki/Blobs#-types-that-you-can-bind-to-blobs
您可能引用了一些依赖于 WindowsAzure.Storage
程序集(版本 8.x.x
)的不兼容版本的 NuGet 包。如果是这样,请务必将其删除。除非您使用一些额外的绑定,否则您的 csproj
引用应该看起来像这样简单:
<ItemGroup>
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.6" />
</ItemGroup>
确保您是 运行 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'.