问题标签 [azure-data-factory-pipeline]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
38 浏览

database - 数据工厂“段条件'@body ....'无效”

我在微软 Azure 数据工厂工作。我正在尝试创建一个复制数据活动,该活动接受输入“userId”并将输出返回给我。

其结构如下:

  1. 我使用“设置变量”活动创建了一个变量
  2. 这会导致“复制数据”活动,该活动使用变量并将其发送到 Rest Resource 数据集
  3. 这个 Rest Resource 有一个名为“comon”的参数,它等于之前的变量。休息资源链接到休息服务
  4. 这个 Rest Service 包含一个参数:“variable”,它等于“comon”参数。然后,Rest Service 在其包含 API 调用的基本 URL 中使用“变量”。

有了这个结构,我希望使用上面步骤 1 中使用的任何变量进行 API 调用。但是,当尝试使用变量“预览数据”时,出现以下错误:

由于以下原因,我已将问题确定到上面的第 3 步:API 调用工作正常,如果我不使用“comon”变量,而是将第 4 步中的“变量”硬编码为等于我的原始变量. 然而,当我再次尝试实现“comon”时,我又回到了我的错误中。

以下是我的数据工厂管道的屏幕截图:

复制数据的变量

复制数据活动

休息资源

休息参数

休息服务

这是我可以硬编码到变量以使其工作的地方:

硬编码而不是参数

但是,如果我改为在“参数”中对其进行硬编码,则它不起作用:

又不行了。。。

0 投票
1 回答
1830 浏览

c# - 如何从 C# 代码调用 Azure 数据工厂管道?

我需要一些想法来从 C# 代码调用 ADF(Azure 数据工厂)作业。如果您可以分享一些实现此功能的示例,那将非常有帮助。

感谢您查看我的帖子。

0 投票
2 回答
526 浏览

azure - 如何在管道执行之间将运行时数据存储在 Azure 数据工厂中?

我一直在按照 Microsoft 的教程从 SQL Server 数据库增量/增量加载数据。

它使用水印(时间戳)来跟踪自上次以来更改的行。本教程使用管道中的“存储过程”活动将水印存储到 Azure SQL 数据库,以便在下一次执行中重复使用。

拥有一个 Azure SQL 数据库来存储那一点点元信息似乎有点矫枉过正(顺便说一句,我的源数据库是只读的)。我宁愿把它存储在 Azure的其他地方。也许在 blob 存储或其他任何地方。

简而言之:是否有一种简单的方法可以跟踪此类数据,或者我们是否仅限于此使用存储过程(或 Azure Functions 等)?

在此处输入图像描述

0 投票
1 回答
146 浏览

azure-cosmosdb - 请帮助解决将 TTL 插入 Comsos DB 的问题

我对这些通过 azure 数据工厂向 cosmos db 插入 TTL 感到有点挣扎:

要求:来源:ADLS Gen2 parquet 文件(不是 csv,必须是 parquet)目标:COMSMOS DB 需要将 paquet 文件中的所有记录添加到 Comsmos DB 中,并带有附加的名称值对,例如:“ttl”:7776000 业务想要每条记录cosmos db 为 90 天,容器级别的 TTL 设置为 2 年,但是,对于来自 ADLS parquet 的记录,它必须在项目级别设置为 90 天。

这里有一些限制:

  1. 无法使用数据流,因为它不支持自托管集成运行时,并且使用 Azure IR 没有我公司批准的安全性
  2. 不能引入 Synapse 或 SQL 服务器等其他组件作为暂存服务器
  3. 不能使用databrick笔记本。
  4. ttl 列不在 parquet 文件中,必须在复制活动期间添加

所以,我正在尝试使用https://docs.microsoft.com/en-us/azure/data-factory/copy-activity-overview#add-additional-columns-during-copy建议 的附加列是我的设置:我在管道中添加了一个参数,它被设置为 int 数据类型。 在此处输入图像描述 在 源中添加附加列:在 此处输入图像描述 映射如下: 在此处输入图像描述

因此 ADF 将出现错误:“文档的 'ttl' 属性不得为非数字类型(如果有的话)。,Source=Microsoft.DataTransfer.DocumentDbManagement”

我尝试了所有将 ttl 转换为整数数据类型的方法,但都是徒劳的。我感觉 Azure 将所有“附加列”的数据类型更改为字符串,即使您将其设置为 int。

请帮助我可以将 TTL 作为 int 插入 cosmos DB,非常感谢!

0 投票
1 回答
122 浏览

json - 数据工厂使用查询创建json

我有这种情况,我需要根据元数据创建一个 json,但我遇到了创建问题。

我使用数据库进行查询,它看起来像这样:使用查询:

结果将如下所示:

如何摆脱换行符 \n ?

也试过这个:

SELECT CONCAT('{"entries":[{"example":true,"url":"https://xxxxxx.core.windows.net/yyyyyyyy/','@{Pipeline().Pipeline}',' /','@{concat(item().name)}','"}]}' ) AS json

最终结果应该是这样的

更新

任务:从 blob 中获取文件名,并将名称复制到一个 json 文件中

从 blob 中获取文件名,并将名称复制到一个 json 文件中

复制源活动应该创建这样的格式

在此处输入代码

但它仍然有 \n 的问题

0 投票
1 回答
128 浏览

azure - 在 Azure 数据工厂中获取历史数据复制的日期

我必须从休息 api 复制一年的历史数据,例如,从 2019 年 3 月 1 日到 2020 年 3 月 1 日。休息 API 将开始和结束日期作为参数。

为了防止加载,但是我必须调用 API,例如复制开始和结束日期为 2019 年 3 月 1 日至 2019 年 3 月 30 日......一旦完成,然后是 2019 年 4 月 1 日至 2019 年 4 月 30 日,依此类推自动直到 2020 年 3 月 1 日,无需人工干预。

我现在可以使用 utc 并将前一天的数据复制到当前 startofday 的天数,但我无法找出历史数据的副本。知道这是否可能吗?

0 投票
1 回答
69 浏览

azure - 带有参数错误的 Azure 源 Dynamics

我有一个简单的管道,我从 Azure SQL DB 表中查找日期,然后尝试将其传递给 Dynamics 的 XML 查询。

查找活动成功,输出看起来不错,我收到一条关于 XML 查询的错误消息,我已经尝试解决了很长时间,但到目前为止没有任何成功。

这是我收到的错误消息

这是我在源查询中使用的 XML 查询:

查找活动名称为 LookupAccountSQL,SQL 查询简单如下:(也为该活动成功调试运行):

任何帮助是极大的赞赏!

0 投票
2 回答
1132 浏览

azure - 如何使用 C# 或任何其他语言触发 Synapse Analytics Workspace 管道?

有什么方法可以使用 C# 或任何语言触发 Azure Synapse Analytics Pipeline(内置 Azure 数据工厂)?

使用以下 URL 和代码,我能够成功触发常规(不是 Synapse 的一部分)Azure 数据工厂。但是当我调用相同的方法时,我不确定数据工厂名称下会出现什么(属性:dataFactoryName)?我尝试提供工作区名称,但它不起作用。

内置 ADF 可以使用 Blob 触发器触发,但问题是我有很多参数,这些参数不能通过存储在 Blob 中的文件传递。

网址:https ://docs.microsoft.com/en-us/azure/data-factory/concepts-pipeline-execution-triggers

代码:client.Pipelines.CreateRunWithHttpMessagesAsync(resourceGroup, dataFactoryName, pipelineName, parameters)

0 投票
0 回答
84 浏览

azure - 如何使用翻转窗口触发器将 ADF 复制管道参数化为回溯和回填

所以我是 ADF 的新手。我创建了一个复制管道,它使用文件名中的时间戳在我的接收器 ADLSgen2 中创建一个日期分区。

不幸的是,我无法附上图片。

顺序是这样的:

  1. GetMetadata 活动(提取的 childItems)

  2. Foreach 活动(设置[@activity('Get Metadata1').output.childItems])

  3. 在 foreach 中,我使用了 SetVariable 活动 (VARIABLES-@concat(substring(split(item().name,'_')[2],0,4),'/',substring(split(item().name,'_')[2],4,2),'/', substring(split(item().name,'_')[2],6,2))) 来拆分文件名并提取日期,然后将我的复制活动与该目录链接起来

文件格式为 H_ODP_20201125_092436_00.CSV

管道工作正常,但问题是我只想运行特定日期的文件并且需要帮助参数化它。

我希望能够使用翻滚窗口触发器回溯和回填任何特定日期提前谢谢你。

0 投票
1 回答
124 浏览

azure - 如何在 Azure 数据工厂中使用二进制列加入?

我正在 Azure Data Factory 中创建数据流。我必须在二进制列上加入两个数据源(VARBINARY(MAX))。验证显示此错误:表达式的类型“二进制”与左侧表达式的类型“二进制”不兼容

如何在 ADF JOINS 中使用二进制加入? JOIN 二进制列上的验证错误