对于上下文,我目前有一个 Data Factory v2 管道,其中有一个ForEach Activity调用Copy Activity。该复制活动只是从FTP服务器到Blob存储容器复制数据。
这是管道 json 文件:
{
"name": "pipeline1",
"properties": {
"activities": [
{
"name": "ForEach1",
"type": "ForEach",
"typeProperties": {
"items": {
"value": "@pipeline().parameters.InputParams",
"type": "Expression"
},
"isSequential": true,
"activities": [
{
"name": "Copy1",
"type": "Copy",
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false
},
"typeProperties": {
"source": {
"type": "FileSystemSource",
"recursive": true
},
"sink": {
"type": "BlobSink"
},
"enableStaging": false,
"cloudDataMovementUnits": 0
},
"inputs": [
{
"referenceName": …Run Code Online (Sandbox Code Playgroud) 每当我在 ADFv2 中执行存储过程时,它都会给我一个输出
{
"effectiveIntegrationRuntime": "DefaultIntegrationRuntime (Australia Southeast)",
"executionDuration": 34
}
Run Code Online (Sandbox Code Playgroud)
即使我在程序中设置了 2 个变量作为输出。有没有办法在ADFv2中映射存储过程的输出?到目前为止,我可以映射所有其他活动的输出,但不能映射存储过程的输出。
团队。
我有使用 Web Activity 处理 ADF2 中的错误的情况。在管道中,任何活动失败,都应该触发网络活动。我在每个活动的failed状态之后附加了网络活动。因此,网络活动的dependsOn属性如下所示:
"dependsOn": {
"activity1": [
"Failed"
],
"activity2": [
"Failed"
]
}
Run Code Online (Sandbox Code Playgroud)
然而,网络活动只有在所有activity1和activity2失败时才会被触发。我想要的是得到那个要么解雇activity1或activity2失败。相反,我使用了该IfCondition活动,但它似乎不是正确(正确或正确)的方式。最好的做法是什么?
我试图从过滤中获取所有活动pipeline().activities,但也不支持。
源数据库:Azure VM D16s_v3 上托管的 PostgreSQL 目标数据库:Azure VM D4s_v3 上托管的 SQL Server 开发版 源数据库大小约为 1TB 目标数据库为空,现有架构与源数据库相同
吞吐量仅为 1mb/s。没有任何帮助。(我选择了最大 DIU)此时 SQL Server 没有任何键或索引。
批量大小为 10000
我有一个使用 MSI 标识运行的 Azure 数据工厂 V2 服务。此服务需要访问包含数千个文件夹和数百万个文件的 Data Lake Gen 1。
为了提高效率,我们为数据湖的根分配了一个组,该组具有 RX 权限,并且这些权限在整个树中被继承和默认。
我想将上述 ADF MSI 添加到该组,但我无法弄清楚如何通过门户 AAD 刀片。
我可以直接将此 MSI 分配给数据湖,但它随后必须更新数百万个文件,这很慢且容易出错(刀片需要在应用权限时保持打开状态,并且由于网络原因,这通常会在几个小时内失败毛刺)。
标记。
关于如何使用Azure数据工厂将数据从Blob读取到SQL中,有很多文档,甚至还有关于如何将查询的输出转储到单个Blob的文档。我试图为表中的每一行(在Azure SQL Server上)创建一个Blob,由一个字段命名,并在另一字段中包含数据。
我的表有一个GUID id字段和一个nvarchar(max)data字段(其中包含JSON,尽管基本上无关紧要)。假设我有以下几行:
id | data
---------------------------------------+----------
38b2f551-5f13-40ce-8512-c108a05ecd44 | foo
4db5b25b-1194-44e9-a7b2-bc8889c32979 | bar
2a3bd653-ce14-4bd2-9243-6923e97224c6 | baz
Run Code Online (Sandbox Code Playgroud)
我希望创建以下Blob:
https://mycontainer.blob.core.windows.net/myblobs/38b2f551-5f13-40ce-8512-c108a05ecd44
https://mycontainer.blob.core.windows.net/myblobs/4db5b25b-1194-44e9-a7b2-bc8889c32979
https://mycontainer.blob.core.windows.net/myblobs/2a3bd653-ce14-4bd2-9243-6923e97224c6
Run Code Online (Sandbox Code Playgroud)
它们的内容应该是相关的数据字段,即foo,bar和baz分别。
Data Factory v2-每行生成一个json文件具有有效的答案,但它涉及一次查询数据库以获取所有ids,然后再查询N次以从每一行获取数据。似乎应该只对这两个字段查询一次,对文件名使用一个查询,对内容使用一个查询,但是我还无法弄清楚该怎么做。
azure-storage-blobs azure-data-factory azure-blob-storage azure-data-factory-2
我们如何将XML有效负载内部的数据保存到Blob存储?
输入
<root>
<alexIsAwesome>yes he is</alexIsAwesome>
<bytes>sdfsdfjijOIJOISJDFQPWORPJkjsdlfkjlksdf==</bytes>
</root>
Run Code Online (Sandbox Code Playgroud)
理想的结果
<root>
<alexIsAwesome>yes he is</alexIsAwesome>
<bytes>/blob/path/toSavedPayload</bytes>
</root>
Run Code Online (Sandbox Code Playgroud)
我们如何使用数据工厂从XML中提取节点并将其保存到Blob?
我想根据 utcnow() 时间戳获取一个月的最后一天。
代替下面表达式中的“dd”,应该自动是当月的最后一天(28、30 或 31):
@{formatDateTime(adddays(utcnow(),-2), 'yyyy-MM-ddT23:59:59.999')}
Run Code Online (Sandbox Code Playgroud)
考虑到它实际上是八月,我期望表达式中的以下结果: “2019-08-31T23:59:59.999”
我有一个包含一些复制活动的管道。其中一些活动负责以压缩方式将大量数据从存储帐户复制到同一个存储帐户(我指的是几 TB 数据)。
运行管道几个小时后,我注意到一些活动在监控刀片上显示“排队”时间,我想知道“排队”时间的原因是什么。更重要的是,如果我在那个时候被收费也是因为据我所知,我的 ADF 没有做任何事情。
有人可以透露一些信息吗?:)