Azure Data Factory v2 Если действие всегда завершается неудачей - PullRequest
0 голосов
/ 25 мая 2018

Я в настоящее время борюсь с фабрикой данных Azure v2. Если действие, которое всегда завершается неудачей, с этим сообщением об ошибке: введите описание изображения здесь

Я разработал два отдельных конвейера, один занимаетполный моментальный снимок данных (1333 записи) с локального SQL Server и загрузка данных в базу данных SQL Azure, а другой просто берет дельту из того же источника.

Оба конвейера работают нормально при выполнениинезависимо друг от друга.

Затем я решил обернуть эти два конвейера в один родительский конвейер, что бы сделать это: 1. Выполнить действие LookUp, чтобы проверить, есть ли у целевой таблицы в базе данных SQL Azure какие-либо записи, базовое значение Select Count (Request_ID) Поскольку record_count из target_table - действие работает нормально, я могу просмотреть количество возвращенных записей.

2.Передайте выходные данные из действия LookUp в действие If с условиями, что если record_count = 0, родительский конвейер вызовет конвейер полной загрузки, в противном случае родительский конвейер вызовет конвейер дельта-загрузки.

Этофактическое выражение:
{@activity ('lookup_sites_record_count'). output.firstRow.record_count} == 0 "

Всякий раз, когда я пытаюсь выполнить этот родительский конвейер, происходит сбой с сообщением, приведенным выше:« Ошибка активности: Операция завершилась неудачно, потому что внутренняя операция завершилась неудачно. "

Оба внутренних действия, то есть конвейеры с полной и дельта-загрузкой, работают нормально, когда запускаются независимо.

Чего мне не хватает?

Заранее большое спасибо:).

mikhailg

Ниже приводится определение JSON конвейера:

{
"name": "pl_remedyreports_load_rs_sites",
"properties": {
    "activities": [
        {
            "name": "lookup_sites_record_count",
            "type": "Lookup",
            "policy": {
                "timeout": "7.00:00:00",
                "retry": 0,
                "retryIntervalInSeconds": 30,
                "secureOutput": false
            },
            "typeProperties": {
                "source": {
                    "type": "SqlSource",
                    "sqlReaderQuery": "Select Count(Request_ID) As record_count From mdp.RS_Sites;"
                },
                "dataset": {
                    "referenceName": "ds_azure_sql_db_sites",
                    "type": "DatasetReference"
                }
            }
        },
        {
            "name": "If_check_site_record_count",
            "type": "IfCondition",
            "dependsOn": [
                {
                    "activity": "lookup_sites_record_count",
                    "dependencyConditions": [
                        "Succeeded"
                    ]
                }
            ],
            "typeProperties": {
                "expression": {
                    "value": "{@activity('lookup_sites_record_count').output.firstRow.record_count}==0",
                    "type": "Expression"
                },
                "ifFalseActivities": [
                    {
                        "name": "pl_remedyreports_invoke_load_sites_inc",
                        "type": "ExecutePipeline",
                        "typeProperties": {
                            "pipeline": {
                                "referenceName": "pl_remedyreports_load_sites_inc",
                                "type": "PipelineReference"
                            }
                        }
                    }
                ],
                "ifTrueActivities": [
                    {
                        "name": "pl_remedyreports_invoke_load_sites_full",
                        "type": "ExecutePipeline",
                        "typeProperties": {
                            "pipeline": {
                                "referenceName": "pl_remedyreports_load_sites_full",
                                "type": "PipelineReference"
                            }
                        }
                    }
                ]
            }
        }
    ],
    "folder": {
        "name": "Load Remedy Reference Data"
    }
}

}

1 Ответ

0 голосов
/ 25 мая 2018

Ваше выражение должно быть:

@equals(activity('lookup_sites_record_count').output.firstRow.record_count,0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...