gpt4 book ai didi

azure - 使用逻辑应用将 n 个文件从 Azure Datalake 复制到 SFTP 位置

转载 作者:行者123 更新时间:2023-12-03 04:01:00 25 4
gpt4 key购买 nike

我有一个场景-
我在 Azure Datalake 中有一些文件。作业正在将这些文件推送到 ADLS 位置。
该文件需要作为输入数据上传到 SFTP 位置。
应用程序将使用此输入文件并执行某些操作,然后将处理后的数据作为输出文件保存在同一 SFTP 位置的输出目录中。

在逻辑应用程序的帮助下,我想将此输出文件上传到 ADLS 位置。

使用此输入文件的应用程序有一些限制 - 它一次不能使用超过 10000 条记录。也就是说,如果我的源文件有超过 10000 条记录,那么我必须将其拆分为多个文件(取决于行数),然后我必须将这些文件复制到 SFTP 位置。此复制必须以这样一种方式执行,即完成一项作业后才应在 SFTP 位置复制另一个文件。

将我想要使用的文件上传到 Azure 逻辑应用。

根据我的理解,到目前为止,Azure 逻辑应用程序不提供任何触发器来测试 ADLS 位置的“添加或修改的文件”,但逻辑应用程序具有类似类型的 Blob 存储功能,因此我决定使用 blob 容器。
将原始文件上传到 ADLS 位置后,我会将文件上传到 blob 位置,因为我的逻辑应用程序会继续轮询此特定目录,因此每当任何新文件立即到达时,它将通过逻辑应用程序触发文件复制作业。

现在的问题-
我的 ADLS 目录可能有一个或多个文件。
如何在逻辑应用中创建复制事件以将这些文件复制到 SFTP 位置。如何确定 ADLS 目录中有多少个 csv 类型文件可用,以便我的逻辑应用决定复制文件的迭代次数。

提前致谢。

最佳答案

您可以在 ADLS 上使用“列出文件操作”..

此操作的输出记录在此处 - https://learn.microsoft.com/en-us/connectors/azuredatalake/#folderresponse

这基本上是一个文件状态类对象的数组。您可以循环遍历该数组并从状态对象中提取信息,并使用它将数据复制到您想要的任何位置。

FileStatus 有信息 -

表 14名称 路径 类型 描述文件名路径后缀字符串
文件或文件夹名称。

输入字符串类型
项目类型(目录或文件)。

block 大小 blockSize 整数文件夹或文件的 block 大小。

访问时间 accessTime 整数上次访问项目的 Unix(纪元)时间。

修改时间修改时间整数项目上次修改的 Unix(纪元)时间。

示例洛杉矶看起来像 -

enter image description here

关于azure - 使用逻辑应用将 n 个文件从 Azure Datalake 复制到 SFTP 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62377312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com