当前位置: 首页 > 知识库问答 >
问题:

Azure 函数版本 2.0 - 应用 blobTrigger 不起作用

咸浩初
2023-03-14

我有一个工作函数应用,它获取了一个 blob 输入和一个事件中心输出(在 beta 版中工作)。随着最新更改,我的函数不再起作用。我已尝试根据发行说明更新host.json文件,但它没有引用blob触发器:

{


"version": "2.0",
  "extensions": {
      "blobTriggers" : {
        "name": "blob",
        "type": "blobTrigger",
        "direction": "in",
        "path": "iot3gblobs/{name}",
        "connection": "AzureWebJobsStorage"
      },

      "eventHubs": {
        "type": "eventHub",
        "name": "outputEventHubMessages",
        "path": "ioteventhub",
        "connection": "IoTEventHubConnection",
        "cardinality": "many",
        "direction": "out"
      }
    },
    "Host" : 
    {
      "LocalHttpPort": 7071,
      "CORS": "*"
    },
  "disabled": false
}

此外,当Microsoft.NET.Sdk.Functions从1.0.14升级到1.0.19时,无法识别bbloTrigger属性,我的代码将无法编译:

[FunctionName("iotserverparser")]
        public async static Task Run(
            [BlobTrigger("iot3gblobs/{name}", Connection = "AzureWebJobsStorage")]
            Stream blob,
            [EventHub(
                "outputEventHubMessages", Connection =
                    "IoTEventHubConnection")]

如前所述,这是因为最近的Azure Function应用程序更新,我还没有看到任何如何在这个新的2.0版本中使用Blob Trigger的例子。

共有1个答案

严昀
2023-03-14

若要将 Azure 函数与 Blob 文件更新连接,请执行以下步骤。

>

  • 单击“功能”菜单中的“ ”图标。

    然后选择“Azure Blob存储触发器”:

    之后,弹出/侧边栏将打开,你需要填写你的blob相关信息。< br >这很简单,但是首先,单击“新建”链接,它将弹出另一个视图,您可以在其中查看您的存储帐户列表。

    从列表中,确保选择要通知的确切存储帐户。

    之后,您将看到存储名称出现在“存储帐户连接”输入框下(您还可能会看到一些附加在存储名称末尾的标签,如“..._存储”,没事)。

    除了帐户连接之外,您还需要提供容器名称,如果您查看存储帐户“Blobs”部分,可以找到该名称。

    现在,创建blob触发器之前的最后一步应该是:

    在这里确保您不要触摸路径输入下的{name}部分。需要该变量来反映更改的文件/blob名称。

    此外,就是这样,无需其他引用(#r或使用s 即可查看 blob 更改。

    请注意,Blob更改可能会在日志部分下延迟一点。但是,如果过了一段时间后您仍然没有在那里看到任何更新,请再次检查您是否提供了正确的存储帐户和容器名称。为此,您可能需要再次创建blob触发器。

  •  类似资料:
    • 我尝试使用Registfit2.0来实现一个库系统。可以添加图书,列出所有图书信息,列出一本书信息,删除一本书,删除所有图书,更新一本书信息。 我的baseURL结尾有一个“/”: 前三个特性工作得很好: 您将在响应中看到,检查请求信息,method是“get”,但标记显示method=“delete”。 Update2:根据Dexter的建议,我添加了用于调试的HttpLoggingInterc

    • 我试图创建一个用BlobTrigger触发的Azure函数。当我向目标容器添加新文件时,我可以通过查看调用来看到函数的运行,在Azure portal上的Monitor中显示触发时间和状态“Success”。然而,除了“已连接!”之外,日志中没有出现任何内容欢迎文本。 这是样板运行。我尝试过的csx有点修改,也有点修改: 和 function.json(我已向其添加了具有相同路径的输入绑定): 我

    • 我需要使用Java创建Azure函数BlobTrigger来监视我的存储容器中是否有新的和更新的blob。 使用以下代码尝试 执行时,它显示错误 存储绑定(blob/队列/表)必须具有非空连接。在方法上发现无效的存储绑定: 当添加连接字符串时,它正在工作 为什么我在使用blobtrigger时需要添加连接字符串? 在C#中,它在没有连接字符串的情况下工作: 我没有看到任何Azure函数的Java示

    • 我使用的是morphia 0.109,并定义了一个基类,如下所示: 和预期的Morphia实体 null 编辑以添加:我正在使用的保存过程:

    • 我有一个 Azure 函数应用,它在过去几周内工作正常,但自定义域上的 SSL 绑定已停止工作。SSL未过期或类似的东西。 错误响应为: 门户在Azure Functions设置下正确显示绑定。这也是消费计划上的一个Azure功能。 我已经初始化了一个支持,但没有解决这个问题的运气。

    • 在app服务中有一个learn_DOCUMENTDB配置设置,它具有到cosmos db实例的有效连接字符串(是自动创建的)。 错误日志条目表示: 无法将CosmosDB绑定到类型“System.String”。可能的原因:1)试图绑定到“Microsoft.Azure.Documents.Client.DocumentClient,Microsoft.Azure.DocumentDB.Core,