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

从触发blob触发器Azure函数的文件中获取元数据

鲍飞星
2023-03-14

我有一个blob触发器Azure函数,每次将新文件添加到我的blob存储时都会调用该函数。我自动获取该文件的名称作为输入。除了名称之外,我还需要附加到给定文件的元数据。我一直在研究数据输入绑定,但我无法理解它。我需要做些什么才能将文件元数据作为输入?或者,甚至只是在我的函数中访问它?

public static void Run(Stream myBlob, string name, TraceWriter log)
{
    string result = DoSomethingWithFileName(name);
    var something = DoSomethingWithFileMetadata();
}

共有1个答案

韶硕
2023-03-14

您可以绑定到< code>CloudBlockBlob,而不是绑定到< code >流。你可以接着做

public static Task Run(CloudBlockBlob myBlob, string name, TraceWriter log)
{
    string result = DoSomethingWithFileName(myBlob.Name);
    var something = DoSomethingWithFileMetadata(myBlob.Metadata);
}

如果需要流,则可以调用<code>。OpenRead()或。OpenReadAsync()

 类似资料:
  • 我是Azure Function应用程序中blob触发器的新手,需要一些帮助。我正在努力寻找有关如何重命名触发该函数的blob的资源。 我有一个函数应用程序,当一个新的blob被上传到容器时触发,文件被处理,我需要一种方法来将其“标记”为已处理,因此我想重命名blob。 这是我的职责: 我该如何重命名该文件?在这种情况下有可能吗?

  • 如果你使用blob存储触发器阅读Azure WebJobs上的留档,它们会提到这不是很可靠: WebJobs SDK扫描日志文件以查看新的或更改的blob。这个过程不是实时的;在创建blob后的几分钟或更长时间内,函数可能不会被触发。此外,存储日志是在“尽力而为”的基础上创建的;无法保证所有事件都将被捕获。在某些情况下,日志可能会丢失。如果您的应用程序无法接受blob触发器的速度和可靠性限制,建议

  • 我使用blob触发器读取blob内容,作为pandas DF进行处理,并将blob附加到我使用的Azure SQL server。 blob触发器没有按预期工作,因此我将main函数中的所有代码都定义为: 但是,我得到了以下错误: 有人可以帮助我找到此问题的原因吗? function.json的配置如下:

  • 我有两个blob触发器,我想触发。一个有效,一个无效! 我使用Azure Storage Explorer来确保blob被上传到每个blob,< code>scanFiles永远不会触发,而< code>scanExports似乎总是会触发。 问题:什么会导致某些blob无法触发Azure函数?

  • 我遇到的情况是,Blob可能在第一次处理时失败,但可能在后续执行中工作。 我遇到的问题是关于监控真正的失败,目前第一次失败将抛出一个异常,该异常被记录并发出警报,但如果第一次重试成功完成,那么根据早期警报就没有什么可做的了。 是否有办法查看已发生的重试次数,以便我只能在不再重试时发出警报?

  • 我正在使用 Blob 触发器 Azure 函数来获取 Blob 文件数据,只要任何文件上传到容器。 使用上述方法,我能够获取上传的项目的URL。目前,上述代码是使用 Azure 提供的“在门户中开发”选项生成的。 是否有一种方法可以获取已上传的Blob文件的SAS URL?