В настоящее время я пытаюсь настроить этот конвейер в Azure Data Factory V2 (как вы можете видеть на прилагаемом рисунке).Таким образом, эта система ERP будет ежемесячно экспортировать этот отчет (файл CSV с фактическими и прогнозными данными), и он будет сохранен в контейнере больших двоичных объектов.Как только этот файл CSV будет сохранен, триггер события должен активировать эту хранимую процедуру, которая, в свою очередь, удалит все фактические данные из моей таблицы фактов в Azure SQL, поскольку она будет заменяться каждый месяц.
Как только фактические данные будут удалены, конвейер будет впоследствии выполнять операцию копирования, которая, в свою очередь, скопирует отчет CSV (фактические данные + прогноз) в ту же таблицу фактов в Azure SQL.После завершения операции копирования приложение логики HTTP удалит этот новый CSV-файл из контейнера BLOB-объектов.Этот рабочий процесс будет повторяющимся событием, которое будет проводиться в течение месяца.
До сих пор я был в состоянии выполнить эти 3 x действия независимо.Однако, когда я присоединяю их к одному и тому же конвейеру, у меня возникали некоторые ошибки параметров при попытке «опубликовать все».Поэтому я не уверен, нужно ли мне иметь одинаковые параметры для каждого действия в конвейере?
Код JSON для моего конвейера выглядит следующим образом:
{
"name": "TM1_pipeline",
"properties": {
"activities": [
{
"name": "Copy Data1",
"type": "Copy",
"dependsOn": [
{
"activity": "Stored Procedure1",
"dependencyConditions": [
"Succeeded"
]
}
],
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false
},
"typeProperties": {
"source": {
"type": "BlobSource",
"recursive": false
},
"sink": {
"type": "SqlSink",
"writeBatchSize": 10000
},
"enableStaging": false,
"dataIntegrationUnits": 0
},
"inputs": [
{
"referenceName": "SourceDataset_e7y",
"type": "DatasetReference",
"parameters": {
"copyFolder": {
"value": "@pipeline().parameters.sourceFolder",
"type": "Expression"
},
"copyFile": {
"value": "@pipeline().parameters.sourceFile",
"type": "Expression"
}
}
}
],
"outputs": [
{
"referenceName": "DestinationDataset_e7y",
"type": "DatasetReference"
}
]
},
{
"name": "Stored Procedure1",
"type": "SqlServerStoredProcedure",
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"typeProperties": {
"storedProcedureName": "[dbo].[test_sp]"
},
"linkedServiceName": {
"referenceName": "AzureSqlDatabase",
"type": "LinkedServiceReference"
}
},
{
"name": "Web1",
"type": "WebActivity",
"dependsOn": [
{
"activity": "Copy Data1",
"dependencyConditions": [
"Succeeded"
]
}
],
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"typeProperties": {
"url": "...",
"method": "POST",
"body": {
"value": "@pipeline().parameters.BlobName",
"type": "Expression"
}
}
}
],
"parameters": {
"sourceFolder": {
"type": "String",
"defaultValue": "@pipeline().parameters.sourceFolder"
},
"sourceFile": {
"type": "String",
"defaultValue": "@pipeline().parameters.sourceFile"
},
"BlobName": {
"type": "String",
"defaultValue": {
"blobname": "source-csv/test.csv"
}
}
}
},
"type": "Microsoft.DataFactory/factories/pipelines"
}