Azure Function Blob 触发器未针对新 Blob 触发

问题描述 投票:0回答:1

具有 Blob 触发器的 Azure 函数,旨在每当将新 Blob 上传到我的 Azure 存储帐户中的特定容器时执行。但是,该函数没有按预期触发。我已验证 blob 确实已上传到容器,但该功能仍处于非活动状态。

当我访问 Portal.azure.com 中的函数应用程序时,函数就会执行并处理所有待处理的文件

我已经仔细检查了以下内容:

函数应用程序运行正常。 存储帐户连接字符串有效并且具有该函数的适当权限。 function.json(或等效文件)中的 blob 触发器配置与预期容器和路径(如果适用)匹配。

注意:我正在使用消费计划

azure-functions azure-blob-storage
1个回答
0
投票

下面是对我有用的代码

using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;

namespace FunctionApp161
{
    public class Function1
    {
        private readonly ILogger<Function1> _logger;

        public Function1(ILogger<Function1> logger)
        {
            _logger = logger;
        }

        [Function(nameof(Function1))]
        public async Task Run([BlobTrigger("rithwik/fold1/{name}", Connection = "rithcon")] Stream stream, string name)
        {
            using var blobStreamReader = new StreamReader(stream);
            var content = await blobStreamReader.ReadToEndAsync();
            _logger.LogInformation($"C# Blob trigger function Processed blob\n Name: {name} \n Data: {content}");
        }
    }
}

local.settings.json:

{
    "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated",
    "rithcon": "DefaultEndpointsProtocol=https;AccountName=rithwik54;AccountKey=hCvncfYA8EdmQ==;EndpointSuffix=core.windows.net"
  }
}

然后部署到azure函数,然后在部署后添加连接字符串,如下所示:

enter image description here

输出:

blob 上传后:

enter image description here

功能被触发:

enter image description here

现在功能 Gettig 在访问门户时触发(功能应用程序-->功能 1)最近没有更改或部署。

如果您正在打开函数并且它被触发,这不是预期的行为,因为函数应该只在新的 blob 上传时触发,我建议您提出支持请求,我建议您创建一个新的 azure 函数应用程序并按照我的步骤已经得到了想要的和预期的结果。

© www.soinside.com 2019 - 2024. All rights reserved.