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

Azure数据工厂-如何从Blob存储中仅读取新文件

荆树
2023-03-14

我的应用程序见解中有一个“持续导出”过程,该过程基于我的新见解创建新文件。

除此之外,我有一个过程,使用Azure数据工厂,用Blob存储数据加载一个SQL表。

问题是:我不能从ADF读取数据,只能从Blob存储中读取新文件,而且我总是在处理相同的数据。此时,我忽略了SQL存储过程中加载过程后的重复数据,但我想通过只从Blob存储中读取新数据来提高这个过程的效率,我可以从ADF读取新数据吗?有人能帮我吗?实现这一目标的替代方案有哪些?

致以最诚挚的问候,鲁伊·费尔南德斯

共有2个答案

傅兴平
2023-03-14

我建议您通过将旧Blob重命名为“Archive/oldBlobName”来以编程方式存档旧Blob(自定义管道)!完成此操作后,下次在代码中遍历分段Blob结果(您在数据集中指定的容器中包含的Blob列表)时,只需转义名称以“存档”开头的Blob。

        foreach (IListBlobItem listBlobItem in blobList.Results)
        {
            CloudBlockBlob inputBlob = listBlobItem as CloudBlockBlob;

            // Take all blobs from container that are not in "Archive"
            if ((inputBlob == null) || string.IsNullOrEmpty(inputBlob.Name)
                            || inputBlob.Name.ToLower().StartsWith("Archive"))
            {
                continue;
            }
                     ...
袁建木
2023-03-14

实现这一目标的替代方案有哪些?

如果WebJob是可接受的,我们可以很容易地用WebJob blob触发器来实现。我们可以从Azure官方文档中获得更多关于WebJob触发器的信息。

以下是演示代码:

 public static void ProcessBlobTrigger([BlobTrigger("containername/{name}")] TextReader input, TextWriter log)
        {
            // your logic to process data
        }
 类似资料:
  • 如何将 avro 文件从 Blob 存储加载到 Azure 数据工厂 移动数据流?我正在尝试加载,但无法导入架构和预览。我在 Blob 中的 avro 文件是事件中心捕获函数的结果。我必须使用 Azure 数据工厂的移动数据流将数据从 Azure blob 移动到 Azure sql db。

  • 我有一个map-reduce作业,并且reducer获得一个驻留在Azure Blob存储中的文件的绝对地址,并且reducer应该打开它并读取它的内容。在配置Hadoop集群(HDInsight)时,我添加了包含文件的存储帐户。因此,还原器必须有权访问这个Blob存储,但Blob存储不是我的作业的默认HDFS存储。我的reducer中有以下代码,但它给了我一个FileNotFound错误消息。

  • 我有一个 json 文件存储在 Azure Blob 存储中,并且已使用数据工厂将其加载到 Azure SQL 数据库中。现在我想找到一种方法,以便仅将文件的新记录加载到我的数据库(因为文件每周左右更新一次)。有没有办法做到这一点? 谢谢!

  • 环境-MS Azure|源-Azure Blob容器(多个CSV文件保存在一个文件夹中)。|目标-AzureSQL数据库。 我的 Blob 容器每天会收到多个 CSV 文件。我想将所有这些 CSV 文件数据加载到 Azure SQL 数据库。如果源数据与目标匹配,则应更新它,否则应插入它。将数据加载到 Azure SQL 数据库中后,必须将 CSV 文件存档在 Blob 的不同目录中。我已经在 A

  • 我有大约6个设置文件(xml或json ),我想存储在Azure中,但在我的Windows客户端应用程序中使用。我计划将它们存储在blob存储中,并使用以下代码下载它们: 设置文件不会经常更改。如何在本地缓存文件,以避免每次下载? 有更好的方法吗?我应该使用的其他Azure服务?