Создание этого конвейера на фабрике данных Azure V2 - PullRequest
0 голосов
/ 12 сентября 2018

В настоящее время я пытаюсь настроить этот конвейер в 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"
}

enter image description here

1 Ответ

0 голосов
/ 13 сентября 2018

Пожалуйста, следуйте этому документу , чтобы настроить триггер события BLOB-объекта и передать правильное значение вашим параметрам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...