错误:消息已达到 MaxDequeueCount 5。将消息移至队列“webjobs-blobtrigger-poison”。当我尝试将新文件放入 Azure 的容器中时,出现 5 次操作失败,并显示以下消息:消息已达到 MaxDequeueCount 为 5。正在将消息移至队列“webjobs-blobtrigger-poison”。
这是我的代码:
using System;
using System.IO;
using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using System.Xml;
using System.Threading.Tasks;
namespace dynamicFileRepository
{
[StorageAccount("BlobConnectionString")]
public class copyBlobtoazureStorage
{
[FunctionName("copyBlobtoazureStorage")]
public void Run(
[BlobTrigger("input-file/{name}")] Stream inputBlob,
[Blob("output-file/{name}", FileAccess.Write)] Stream outputBlob,
string name, ILogger log, ExecutionContext context)
{
XmlDocument doc = new XmlDocument();
using (XmlReader reader = XmlReader.Create(inputBlob))
{
doc.Load(reader);
}
string jsonText = JsonConvert.SerializeXmlNode(doc);
Console.WriteLine(jsonText);
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {inputBlob.Length} Bytes"); …Run Code Online (Sandbox Code Playgroud) 我想将存储在 Azure blob 存储中的 Excel 文件读取到 python 数据框。我会使用什么方法?
python azure-blob-storage azure-functions azure-blob-trigger
不确定这个问题是否有意义,但这就是我所观察到的。我的 Azure 函数使用 BlobTrigger 处理上传到 Blob 存储的 PDF 文件。一切正常,直到我一次上传多个 blob,在这种情况下,使用下面的代码我观察到以下内容:
第一个 context.getLogger() 正确记录触发该函数的每个 blob。
在 Azure 文件共享中,每个 PDF 文件都会正确保存。
在许多情况下,第二个 context.getLogger() 返回不正确的结果(来自其他文件之一),就好像变量在我的 Function 实例之间共享一样。请注意,lines[19] 对于每个 PDF 都是唯一的。
我后来在代码中注意到类似的行为,其中记录了来自错误 PDF 的数据。
编辑:需要明确的是,我知道当多个实例并行运行时,日志不会按顺序排列。然而,当我上传 10 个文件时,大多数结果都是重复的,而不是获得行 [19] 的 10 个唯一结果,并且当基于 XI 想做 Y 时,这个问题稍后会在我的代码中恶化,并且 10 次调用中有 9 次产生垃圾数据。
主类
public class main {
@FunctionName("veninv")
@StorageAccount("Storage")
public void blob(
@BlobTrigger(
name = "blob",
dataType = "binary",
path = "veninv/{name}")
byte[] content,
@BindingName("name") String blobname,
final ExecutionContext context
) {
context.getLogger().info("BlobTrigger by: " + blobname …Run Code Online (Sandbox Code Playgroud) 有人知道如何使用逻辑应用连接器和触发器连接到 Azure blob 存储吗?我不想授予对我的存储帐户的公共访问权限。如果我允许公共访问,它工作正常,但是当我将访问限制为仅选定的 IP 时,它停止工作并且我无法连接到存储帐户。我附上了截图。
我是 ADF 新手。我需要将 15 个 CSV 文件中的数据加载到 15 个 Azure Sql 数据库表中。在管道中,每次创建 blob 时都会有一个触发器来运行管道。
我想让这个管道充满活力。我的 CSV 文件名包含表名。例如,Input_202005 是 csv,表名称是 Input。
同样,我还有 14 个元数据不同的其他文件/表。
因为我想在每次创建 blob 时运行管道,所以我不需要元数据和 foreachfile 活动。我希望每个 blob 的管道并行运行。有没有办法知道哪个 blob/文件触发了管道并获取文件的名称,而无需在触发器中使用任何参数。我不想使用 15 个触发参数。
或者有更好的解决方案来满足我的要求吗?任何建议表示赞赏。
azure azure-data-factory azure-blob-storage azure-triggers azure-blob-trigger