【问题标题】:How can I use a BlobTrigger to bind to CloudBlockBlob in an Azure Function?如何使用 BlobTrigger 绑定到 Azure 函数中的 CloudBlockBlob?
【发布时间】:2018-04-07 00:28:37
【问题描述】:

我的项目中有以下功能:

[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}");
}

当我尝试使用 v1.0.4 的 Azure Functions CLI 在本地运行该函数时,我收到此错误:

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

【问题讨论】:

    标签: c# azure azure-functions azure-web-app-service azure-webjobssdk


    【解决方案1】:

    您可能引用了一些 NuGet 包,该包依赖于不兼容版本的 WindowsAzure.Storage 程序集(版本 8.x.x)。如果是这样,请务必将其删除。除非您使用一些额外的绑定,否则您的 csproj 引用应该看起来像这样简单:

    <ItemGroup>           
        <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.6" />
    </ItemGroup>
    

    【讨论】:

    • 这正是问题所在。我删除了其他需要 8.x.x 的代码以简化示例。一旦我删除了引用,一切都按预期工作。谢谢!
    • 是的,这是程序集版本冲突和缺少绑定重定向的已知问题。非常混乱,但还没有合适的解决方案。
    【解决方案2】:

    确保您正在运行 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'.
    

    【讨论】:

    • 他可能只是连接到 Azure 存储。连接问题将给出另一个错误。
    猜你喜欢
    • 2018-08-29
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    • 2017-09-06
    • 1970-01-01
    • 2020-01-08
    相关资源
    最近更新 更多