AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / coding / 问题 / 76920394
Accepted
Sivaani
Sivaani
Asked: 2023-08-17 17:53:15 +0800 CST2023-08-17 17:53:15 +0800 CST 2023-08-17 17:53:15 +0800 CST

将复制活动的序列号添加到 Blob

  • 772

我在 FTP 中有文件,需要将其复制到 Blob 存储。

将文件复制到 blob 存储时,我需要以表格格式获取复制活动的状态,并包含以下详细信息。

假设 FTP 中有 3 个文件。以下是我期望的输出。

序列号 文件名 错误信息 复制状态
1 文件1 不适用 成功的
2 文件2 不适用 成功的
3 文件3 显示错误信息 失败的

我尝试了以下。

{
    "name": "ABC_copy2",
    "properties": {
        "activities": [
            {
                "name": "Get Metadata",
                "type": "GetMetadata",
                "dependsOn": [
                    {
                        "activity": "Initialize counter to 1 for SNo 2x",
                        "dependencyConditions": [
                            "Succeeded"
                        ]
                    }
                ],
                "policy": {
                    "timeout": "7.00:00:00",
                    "retry": 0,
                    "retryIntervalInSeconds": 30,
                    "secureOutput": false,
                    "secureInput": false
                },
                "userProperties": [],
                "typeProperties": {
                    "dataset": {
                        "referenceName": "PH_FTP2_Dir",
                        "type": "DatasetReference",
                        "parameters": {
                            "foldername": "ABC"
                        }
                    },
                    "fieldList": [
                        "childItems"
                    ],
                    "storeSettings": {
                        "type": "FtpReadSettings",
                        "recursive": true,
                        "enablePartitionDiscovery": false,
                        "useBinaryTransfer": true,
                        "disableChunking": false
                    },
                    "formatSettings": {
                        "type": "DelimitedTextReadSettings"
                    }
                }
            },
            {
                "name": "ForEach_ABC",
                "type": "ForEach",
                "dependsOn": [
                    {
                        "activity": "Get Metadata",
                        "dependencyConditions": [
                            "Succeeded"
                        ]
                    }
                ],
                "userProperties": [],
                "typeProperties": {
                    "items": {
                        "value": "@activity('Get Metadata').output.childItems",
                        "type": "Expression"
                    },
                    "activities": [
                        {
                            "name": "Move to Blobs",
                            "type": "Copy",
                            "dependsOn": [],
                            "policy": {
                                "timeout": "7.00:00:00",
                                "retry": 0,
                                "retryIntervalInSeconds": 30,
                                "secureOutput": false,
                                "secureInput": false
                            },
                            "userProperties": [],
                            "typeProperties": {
                                "source": {
                                    "type": "DelimitedTextSource",
                                    "storeSettings": {
                                        "type": "FtpReadSettings",
                                        "recursive": true,
                                        "enablePartitionDiscovery": false,
                                        "useBinaryTransfer": true,
                                        "disableChunking": true
                                    },
                                    "formatSettings": {
                                        "type": "DelimitedTextReadSettings"
                                    }
                                },
                                "sink": {
                                    "type": "DelimitedTextSink",
                                    "storeSettings": {
                                        "type": "AzureBlobStorageWriteSettings"
                                    },
                                    "formatSettings": {
                                        "type": "DelimitedTextWriteSettings",
                                        "quoteAllText": true,
                                        "fileExtension": ".txt"
                                    }
                                },
                                "enableStaging": false,
                                "enableSkipIncompatibleRow": true,
                                "logSettings": {
                                    "enableCopyActivityLog": true,
                                    "copyActivityLogSettings": {
                                        "logLevel": "Info",
                                        "enableReliableLogging": false
                                    },
                                    "logLocationSettings": {
                                        "linkedServiceName": {
                                            "referenceName": "AzureBlobStorage_dir",
                                            "type": "LinkedServiceReference"
                                        },
                                        "path": "dir"
                                    }
                                },
                                "translator": {
                                    "type": "TabularTranslator",
                                    "typeConversion": true,
                                    "typeConversionSettings": {
                                        "allowDataTruncation": false,
                                        "treatBooleanAsNumber": false,
                                        "dateTimeFormat": "yyyy-MM-dd HH:mm:ss.SSS"
                                    }
                                }
                            },
                            "inputs": [
                                {
                                    "referenceName": "PH_FTP2_CopyActivity",
                                    "type": "DatasetReference",
                                    "parameters": {
                                        "Filename": {
                                            "value": "@item().name",
                                            "type": "Expression"
                                        },
                                        "Foldername": "ABC"
                                    }
                                }
                            ],
                            "outputs": [
                                {
                                    "referenceName": "PH_AzureStorage",
                                    "type": "DatasetReference",
                                    "parameters": {
                                        "filename": {
                                            "value": "@item().name",
                                            "type": "Expression"
                                        },
                                        "foldername": "inputfiles-ABC"
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Cpy blob Activity Success Status",
                            "type": "AppendVariable",
                            "dependsOn": [
                                {
                                    "activity": "Move to Blobs",
                                    "dependencyConditions": [
                                        "Succeeded"
                                    ]
                                }
                            ],
                            "userProperties": [],
                            "typeProperties": {
                                "variableName": "cpy_blob_status",
                                "value": {
                                    "value": "@json(concat('{','\"S.No\":',variables('counter'),',\"File Name\":\"',item().Name,'\",\"Copy Status to Blobs\":\"Copied Successfully\"}'))",
                                    "type": "Expression"
                                }
                            }
                        },
                        {
                            "name": "Cpy blob Activity Failure Status",
                            "type": "AppendVariable",
                            "dependsOn": [
                                {
                                    "activity": "Move to Blobs",
                                    "dependencyConditions": [
                                        "Failed"
                                    ]
                                }
                            ],
                            "userProperties": [],
                            "typeProperties": {
                                "variableName": "cpy_blob_status",
                                "value": {
                                    "value": "@json(concat('{','\"S.No\":',variables('counter'),',\"File Name\":\"',item().Name,'\",\"Copy Status to Blobs\":\"Failed\",\"Error\":\"',activity('Move to Blobs').output.errors[0].Message,'\"}'))\n",
                                    "type": "Expression"
                                }
                            }
                        },
                        {
                            "name": "increment and store in temp 2x",
                            "type": "SetVariable",
                            "dependsOn": [
                                {
                                    "activity": "Cpy blob Activity Success Status",
                                    "dependencyConditions": [
                                        "Succeeded"
                                    ]
                                }
                            ],
                            "policy": {
                                "secureOutput": false,
                                "secureInput": false
                            },
                            "userProperties": [],
                            "typeProperties": {
                                "variableName": "temp",
                                "value": {
                                    "value": "@string(add(int(variables('counter')),1))",
                                    "type": "Expression"
                                }
                            }
                        },
                        {
                            "name": "store temp to counter 2x",
                            "type": "SetVariable",
                            "dependsOn": [
                                {
                                    "activity": "increment and store in temp 2x",
                                    "dependencyConditions": [
                                        "Succeeded"
                                    ]
                                }
                            ],
                            "policy": {
                                "secureOutput": false,
                                "secureInput": false
                            },
                            "userProperties": [],
                            "typeProperties": {
                                "variableName": "counter",
                                "value": {
                                    "value": "@variables('temp')",
                                    "type": "Expression"
                                }
                            }
                        },
                        {
                            "name": "increment and store in temp 2x_F",
                            "type": "SetVariable",
                            "dependsOn": [
                                {
                                    "activity": "Cpy blob Activity Failure Status",
                                    "dependencyConditions": [
                                        "Succeeded"
                                    ]
                                }
                            ],
                            "policy": {
                                "secureOutput": false,
                                "secureInput": false
                            },
                            "userProperties": [],
                            "typeProperties": {
                                "variableName": "temp",
                                "value": {
                                    "value": "@string(add(int(variables('counter')),1))",
                                    "type": "Expression"
                                }
                            }
                        },
                        {
                            "name": "store temp to counter 2x_F",
                            "type": "SetVariable",
                            "dependsOn": [
                                {
                                    "activity": "increment and store in temp 2x_F",
                                    "dependencyConditions": [
                                        "Succeeded"
                                    ]
                                }
                            ],
                            "policy": {
                                "secureOutput": false,
                                "secureInput": false
                            },
                            "userProperties": [],
                            "typeProperties": {
                                "variableName": "counter",
                                "value": {
                                    "value": "@variables('temp')",
                                    "type": "Expression"
                                }
                            }
                        }
                    ]
                }
            },
            {
                "name": "Initialize counter to 1 for SNo 2x",
                "type": "SetVariable",
                "dependsOn": [],
                "policy": {
                    "secureOutput": false,
                    "secureInput": false
                },
                "userProperties": [],
                "typeProperties": {
                    "variableName": "counter",
                    "value": "1"
                }
            },
            {
                "name": "Set Cpy_Blob_Status_final",
                "type": "SetVariable",
                "dependsOn": [
                    {
                        "activity": "ForEach_ABC",
                        "dependencyConditions": [
                            "Succeeded"
                        ]
                    }
                ],
                "policy": {
                    "secureOutput": false,
                    "secureInput": false
                },
                "userProperties": [],
                "typeProperties": {
                    "variableName": "cpy_blob_status_final",
                    "value": {
                        "value": "@variables('cpy_blob_status')",
                        "type": "Expression"
                    }
                }
            }
        ],
        "variables": {
            "counter": {
                "type": "String"
            },
            "temp": {
                "type": "String"
            },
            "cpy_blob_status": {
                "type": "Array"
            },
            "cpy_blob_status_final": {
                "type": "Array"
            }
        },
        "annotations": [],
        "lastPublishTime": "2023-08-17T08:35:26Z"
    },
    "type": "Microsoft.DataFactory/factories/pipelines"
}

但 S.No 并未按预期增加。

  • 1 1 个回答
  • 39 Views

1 个回答

  • Voted
  1. Best Answer
    Rakesh Govindula
    2023-08-17T18:21:09+08:002023-08-17T18:21:09+08:00

    您的方法很好,但我从您的管道 JSON 中观察到您没有在 ForEach 活动中启用顺序。

    确保检查其中的顺序。

    在此输入图像描述

    如果未启用,每个迭代将并行运行,并且它们将采用第一个初始化值,即,1并且不会采用先前迭代的更新值。

    因此,启用顺序允许迭代一个接一个地运行,并且每次迭代都将从之前的运行中获取更新的序列号(1,2,3)。

    • 0

相关问题

  • Packer 动态源重复工件

  • 选择每组连续 1 的行

  • 图形 API 调用列表 subscribedSkus 状态权限不足,但已授予权限

  • 根据列值创建单独的 DF 的函数

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    使用 <font color="#xxx"> 突出显示 html 中的代码

    • 2 个回答
  • Marko Smith

    为什么在传递 {} 时重载解析更喜欢 std::nullptr_t 而不是类?

    • 1 个回答
  • Marko Smith

    您可以使用花括号初始化列表作为(默认)模板参数吗?

    • 2 个回答
  • Marko Smith

    为什么列表推导式在内部创建一个函数?

    • 1 个回答
  • Marko Smith

    我正在尝试仅使用海龟随机和数学模块来制作吃豆人游戏

    • 1 个回答
  • Marko Smith

    java.lang.NoSuchMethodError: 'void org.openqa.selenium.remote.http.ClientConfig.<init>(java.net.URI, java.time.Duration, java.time.Duratio

    • 3 个回答
  • Marko Smith

    为什么 'char -> int' 是提升,而 'char -> Short' 是转换(但不是提升)?

    • 4 个回答
  • Marko Smith

    为什么库中不调用全局变量的构造函数?

    • 1 个回答
  • Marko Smith

    std::common_reference_with 在元组上的行为不一致。哪个是对的?

    • 1 个回答
  • Marko Smith

    C++17 中 std::byte 只能按位运算?

    • 1 个回答
  • Martin Hope
    fbrereto 为什么在传递 {} 时重载解析更喜欢 std::nullptr_t 而不是类? 2023-12-21 00:31:04 +0800 CST
  • Martin Hope
    比尔盖子 您可以使用花括号初始化列表作为(默认)模板参数吗? 2023-12-17 10:02:06 +0800 CST
  • Martin Hope
    Amir reza Riahi 为什么列表推导式在内部创建一个函数? 2023-11-16 20:53:19 +0800 CST
  • Martin Hope
    Michael A fmt 格式 %H:%M:%S 不带小数 2023-11-11 01:13:05 +0800 CST
  • Martin Hope
    God I Hate Python C++20 的 std::views::filter 未正确过滤视图 2023-08-27 18:40:35 +0800 CST
  • Martin Hope
    LiDa Cute 为什么 'char -> int' 是提升,而 'char -> Short' 是转换(但不是提升)? 2023-08-24 20:46:59 +0800 CST
  • Martin Hope
    jabaa 为什么库中不调用全局变量的构造函数? 2023-08-18 07:15:20 +0800 CST
  • Martin Hope
    Panagiotis Syskakis std::common_reference_with 在元组上的行为不一致。哪个是对的? 2023-08-17 21:24:06 +0800 CST
  • Martin Hope
    Alex Guteniev 为什么编译器在这里错过矢量化? 2023-08-17 18:58:07 +0800 CST
  • Martin Hope
    wimalopaan C++17 中 std::byte 只能按位运算? 2023-08-17 17:13:58 +0800 CST

热门标签

python javascript c++ c# java typescript sql reactjs html

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve