azure 如何将管道变量传递到数据集参数?

gpnt7bae  于 2023-03-31  发布在  其他
关注(0)|答案(1)|浏览(140)

我目前正在处理一个管道,它要求我动态创建一个@FileName(FileName_YYYY_MM_DD.csv)变量,并在该变量后面附加日期。
目的是从Azure SQL数据库导出数据,并在我的数据湖中创建一个带有动态@FileName的CSV文件。
enter image description here
1.我有一个查找活动,它触发了一个SQL脚本,生成1行(FileName_YYYY_MM_DD.csv)
1.该值作为Array返回,因此我将其存储在变量@FileNames中
1.然后,我有另一个SetVariableActivity,它将文件名提取为字符串,并将其存储到另一个名为@FileName的变量中
1.然后,我尝试将管道变量@FileName传递给链接到我的数据湖的CopyData Activity Sink中的Dataset Parameter。
然而,当我尝试运行我的管道时,我得到了一个描述性不强的错误:

{
"code": "BadRequest",
"message": null,
"target": "pipeline//runid/*******",
"details": null,
"error": null
}

我看过一些类似的问题,但每个人都认为我在某个地方有一个白色。我已经仔细检查了我的字符串,我没有任何空格。
你能帮我把变量传递给我的数据集参数吗?
然而,当我尝试运行我的管道时,我得到了一个描述性不强的错误:

{
"code": "BadRequest",
"message": null,
"target": "pipeline//runid/*******",
"details": null,
"error": null
}

我看过一些类似的问题,但每个人都认为我在某个地方有一个白色。我已经仔细检查了我的字符串,我没有任何空格。

2lpgd968

2lpgd9681#

{“code”:“BadRequest”,“message”:null,“target”:“pipeline//runid/*******",“details”:null,“error”:空}
在ADF中,只有当我们给出错误的动态内容或动态内容中的任何特殊字符(如(!@#..))时才会发生此错误。
你可以看到我有同样的错误,当我给下面的动态内容。
@activity('Lookup1').output.value[0].name#

我已经复制了你的场景,并能够完成要求,这是我的管道JSON。

{
    "name": "pipeline2",
    "properties": {
        "activities": [
            {
                "name": "Lookup1",
                "type": "Lookup",
                "dependsOn": [],
                "policy": {
                    "timeout": "0.12:00:00",
                    "retry": 0,
                    "retryIntervalInSeconds": 30,
                    "secureOutput": false,
                    "secureInput": false
                },
                "userProperties": [],
                "typeProperties": {
                    "source": {
                        "type": "AzureSqlSource",
                        "queryTimeout": "02:00:00",
                        "partitionOption": "None"
                    },
                    "dataset": {
                        "referenceName": "AzureSqlTable1",
                        "type": "DatasetReference"
                    },
                    "firstRowOnly": false
                }
            },
            {
                "name": "Set variable1",
                "type": "SetVariable",
                "dependsOn": [
                    {
                        "activity": "Lookup1",
                        "dependencyConditions": [
                            "Succeeded"
                        ]
                    }
                ],
                "userProperties": [],
                "typeProperties": {
                    "variableName": "filename",
                    "value": {
                        "value": "@activity('Lookup1').output.value[0].name",
                        "type": "Expression"
                    }
                }
            },
            {
                "name": "Copy data1",
                "type": "Copy",
                "dependsOn": [
                    {
                        "activity": "Set variable1",
                        "dependencyConditions": [
                            "Succeeded"
                        ]
                    }
                ],
                "policy": {
                    "timeout": "0.12:00:00",
                    "retry": 0,
                    "retryIntervalInSeconds": 30,
                    "secureOutput": false,
                    "secureInput": false
                },
                "userProperties": [],
                "typeProperties": {
                    "source": {
                        "type": "AzureSqlSource",
                        "queryTimeout": "02:00:00",
                        "partitionOption": "None"
                    },
                    "sink": {
                        "type": "DelimitedTextSink",
                        "storeSettings": {
                            "type": "AzureBlobFSWriteSettings"
                        },
                        "formatSettings": {
                            "type": "DelimitedTextWriteSettings",
                            "quoteAllText": true,
                            "fileExtension": ".txt"
                        }
                    },
                    "enableStaging": false,
                    "translator": {
                        "type": "TabularTranslator",
                        "typeConversion": true,
                        "typeConversionSettings": {
                            "allowDataTruncation": true,
                            "treatBooleanAsNumber": false
                        }
                    }
                },
                "inputs": [
                    {
                        "referenceName": "AzureSqlTable1",
                        "type": "DatasetReference"
                    }
                ],
                "outputs": [
                    {
                        "referenceName": "sinkfile",
                        "type": "DatasetReference",
                        "parameters": {
                            "FileName": {
                                "value": "@variables('filename')",
                                "type": "Expression"
                            }
                        }
                    }
                ]
            }
        ],
        "variables": {
            "filename": {
                "type": "String"
            }
        },
        "annotations": []
    }
}

相关问题