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

从Azure blob读取文件到Python中的函数应用程序

辛意智
2023-03-14

我正在尝试使用函数应用从 Python 中的 Azure blob 存储中以递归方式从容器中读取多个相同类型的文件。但是,如何使用业务流程协调程序的host.json中的绑定函数来完成此操作,如下所示?在本地设置中应该进行哪些适当的更改,因为我已经提到了conn字符串和已经存在于同一环境中的blob的路径?

{
  "scriptFile": "__init__.py",
  "bindings": [
    {
      "name": "context",
      "type": "orchestrationTrigger",
      "direction": "in"
    },
    {
      "name": "inputblob",
      "type": "blob",
      "dataType": "string",
      "path": "test/{file_name}.pdf{queueTrigger}",
      "connection": "CONTAINER_CONN_STR",
      "direction": "in"
    }
  ]
}

*测试:我拥有的目录。

CONTAINER_CONN_STR:已指定路径

此外,在这样做时,在没有绑定的正常方法中,在将文件下载到本地系统时会给出错误,如下所示:

异常:PermissionError:[Errno 13]权限被拒绝:“analytics_durable_activity/”

堆栈:文件"C:\Program Files\Microsoft\Azure Functions Core Tools\Worker\python\3.8\WINDOWS\X64\azure_functions_worker\dispatcher.py",第271行,_handle__function_load_request

func = loader.load_function(

共有2个答案

岑鸣
2023-03-14

您可以将触发器的状态保存在一个实体中,并在每次函数被触发时进行检查。该功能将仅在状态匹配时处理文件,即先前的文件已经被接收但未被处理。

请参阅 https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview?tabs=csharp - 模式 #6:聚合器(有状态实体)

姬温文
2023-03-14

如何在编排器的host.json中使用绑定函数来实现这一点,如下所示?在本地设置中应该进行哪些适当的更改

您使用的配置看起来不错。更多信息,可以参考这个例子。

此外,在没有绑定的正常方法中执行此操作时,将文件下载到本地系统时会出现错误,如下所示:

当您试图打开文件时,可能会出现此错误,但您的路径是文件夹,或者您没有所需的权限。

你可以参考这个讨论类似问题的SO线程。

引用:设置、查看、更改或删除文件和文件夹的权限|Microsoft文档

 类似资料:
  • 我有一个非常简单的问题:使用Python从txt文件中读取不同条目的最有效方法是什么? 假设我有一个文本文件,如下所示: 在C中,我会这样做: 用Python做这样的事情最好的方法是什么?以便将每个值存储到不同的变量中(因为我必须在整个代码中使用这些变量)。 提前感谢!

  • 问题内容: 我刚刚在python上做了gzip的摘要。 而且我在屏幕上没有任何输出。作为python的初学者,我想知道如果要读取gzip文件中文件的内容该怎么办。谢谢。 问题答案: 尝试像这样通过gzip库压缩一些数据… …然后按照发布的代码运行… 这种方法对我有用,因为某些原因,gzip库无法读取某些文件。

  • 我已经在谷歌驱动器的应用程序文件夹中创建了一个文件。 编写文件的代码 读取文件的代码 driveContentsResult的状态为false。我看过谷歌的演示,但找不到解决方案。谁能帮我找出我做错了什么,或者我可以尝试的其他方法是什么。

  • 问题内容: 我有点头疼,只是因为一个简单,易于表达的陈述使我的脸上有些错误。 我有一个名为的文件,如下所示: 我现在想读取文件。我发现了以下这些语句,但是不起作用: 控制台上显示的错误是这样的: 已编辑 从更改为 并得到了: 问题答案: 该方法( 中没有 )可以直接读取文件: 你正在使用方法,该方法仅用于字符串参数。 编辑:新消息是一个完全不同的问题。在这种情况下,该文件中存在一些无效的。为此,我

  • 问题内容: 我有一个包含多个词典的文件,如下所示: 或这个: 换句话说,每个词典中每个键的顺序都不相同。 我的问题: 最好的阅读本词典的方式是什么,以便无论顺序如何都可以调用Date,GenName和Segment?那可能吗? 请注意…这不是来自json文件。如果字典的构造不正确,我确定可以修改生成此输出的脚本。 问题答案: 正如您在评论中提到的,您要自己创建字典,因此以痛苦的格式存储字典并不是一

  • 问题内容: 我正在从包含以下数据的CSV文件(xyz.CSV)中读取数据: 当我使用循环对其进行迭代时,我可以按以下代码逐行打印数据,并且仅打印column1数据。 通过上面的代码,我只能得到第一列。 如果我尝试打印line [1]或line [2],则会出现以下错误。 请建议打印列2或列3的数据。 问题答案: 这是我获得第二列和第三列的方法: 结果如下: