Поиск и доступ к веб-активности в фабрике данных Azure: @Item (), возвращающий ноль - PullRequest
0 голосов
/ 03 мая 2018

Как упомянуто в ссылке ниже, я сначала запускаю поиск. Он дает мне идентификаторы электронной почты, а затем для каждого идентификатора электронной почты я вызываю запрос POST.

Перебор таблицы SQL Azure в фабрике данных Azure

Я упомянул @pipeline (). Parameters.tableList в пунктах настроек для каждого. И после каждого для меня я установил уведомление по электронной почте, чтобы проверить вывод @pipeline (). Parameters.leadList. Я все правильно понимаю, пока все хорошо.

Но когда я использую @item (), он возвращает мне ноль.

Я запутался, почему @item () дает мне ноль, хотя @pipeline (). parameters.leadList в дочернем конвейере дает мне правильный значение?

И я следовал этому подходу: https://docs.microsoft.com/en-us/azure/data-factory/tutorial-bulk-copy-portal

Родительский конвейер

{
    "name": "LookupToSF",
    "properties": {
        "activities": [
            {
                "name": "LookupToSF",
                "description": "Retrieve the Lead name and email ids from the Lead table of the Salesforce",
                "type": "Lookup",
                "policy": {
                    "timeout": "7.00:00:00",
                    "retry": 0,
                    "retryIntervalInSeconds": 30,
                    "secureOutput": false
                },
                "typeProperties": {
                    "source": {
                        "type": "SalesforceSource",
                        "query": "select name, email from lead where email='abcd@xxxx.com'",
                        "readBehavior": "query"
                    },
                    "dataset": {
                        "referenceName": "SalesforceObjectToAddPersonAskNicely",
                        "type": "DatasetReference"
                    },
                    "firstRowOnly": false
                }
            },
            {
                "name": "TriggerForEachLead",
                "type": "ExecutePipeline",
                "dependsOn": [
                    {
                        "activity": "LookupToSF",
                        "dependencyConditions": [
                            "Succeeded"
                        ]
                    }
                ],
                "typeProperties": {
                    "pipeline": {
                        "referenceName": "SendSurvey",
                        "type": "PipelineReference"
                    },
                    "waitOnCompletion": true,
                    "parameters": {
                        "leadList": {
                            "value": "@activity('LookupToSF').output.value",
                            "type": "Expression"
                        }
                    }
                }
            }
        ]
    }
}

**

Дочерний конвейер

{
    "name": "SendSurvey",
    "properties": {
        "activities": [
            {
                "name": "ForEachLead",
                "type": "ForEach",
                "typeProperties": {
                    "items": {
                        "value": "@pipeline().parameters.leadList",
                        "type": "Expression"
                    },
                    "isSequential": true,
                    "activities": [
                        {
                            "name": "WebActivityToAddPerson",
                            "type": "WebActivity",
                            "policy": {
                                "timeout": "7.00:00:00",
                                "retry": 0,
                                "retryIntervalInSeconds": 30,
                                "secureOutput": false
                            },
                            "typeProperties": {
                                "url": "https://xxxx.asknice.ly/api/v1/person/trigger",
                                "method": "POST",
                                "headers": {
                                    "X-apikey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                                },
                                "data": {
                                    "email": "@{item().Email}",
                                    "addperson": "true"
                                }
                            }
                        },
                        {
                            "name": "WebActivityForErrorAddingPerson",
                            "type": "WebActivity",
                            "dependsOn": [
                                {
                                    "activity": "WebActivityToAddPerson",
                                    "dependencyConditions": [
                                        "Failed"
                                    ]
                                }
                            ],
                            "policy": {
                                "timeout": "7.00:00:00",
                                "retry": 0,
                                "retryIntervalInSeconds": 30,
                                "secureOutput": false
                            },
                            "typeProperties": {
                                "url": "https://prod-07.australiaeast.logic.azure.com:443/workflows/xxxxxxxxxxxxx",
                                "method": "POST",
                                "headers": {
                                    "Content-Type": "application/json"
                                },
                                "body": {
                                    "Status": "Failure",
                                    "message": "@{activity('WebActivityToAddPerson').output}",
                                    "subject": "Failure in adding"
                                }
                            }
                        },
                        {
                            "name": "WebActivityToSendSurvey",
                            "type": "WebActivity",
                            "dependsOn": [
                                {
                                    "activity": "WebActivityToAddPerson",
                                    "dependencyConditions": [
                                        "Completed"
                                    ]
                                }
                            ],
                            "policy": {
                                "timeout": "7.00:00:00",
                                "retry": 0,
                                "retryIntervalInSeconds": 30,
                                "secureOutput": false
                            },
                            "typeProperties": {
                                "url": "https://xxxxxxxx.asknice.ly/api/v1/person/trigger",
                                "method": "POST",
                                "headers": {
                                    "X-apikey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                                },
                                "data": "Email=@{item().Email}&triggeremail=true "
                            }
                        },
                        {
                            "name": "WebActivityForErrorSendingSurvey",
                            "type": "WebActivity",
                            "dependsOn": [
                                {
                                    "activity": "WebActivityToSendSurvey",
                                    "dependencyConditions": [
                                        "Failed"
                                    ]
                                }
                            ],
                            "policy": {
                                "timeout": "7.00:00:00",
                                "retry": 0,
                                "retryIntervalInSeconds": 30,
                                "secureOutput": false
                            },
                            "typeProperties": {
                                "url": "https://prod-07.australiaeast.logic.azure.com:443/workflows/xxxxxxxxxxxxxxxxx",
                                "method": "POST",
                                "headers": {
                                    "Content-Type": "application/json"
                                },
                                "body": {
                                    "Status": "Failure",
                                    "message": "@{activity('WebActivityToAddPerson').output}",
                                    "subject": "Failure in adding"
                                }
                            }
                        },
                        {
                            "name": "UserAddingNotification",
                            "type": "WebActivity",
                            "dependsOn": [
                                {
                                    "activity": "WebActivityToAddPerson",
                                    "dependencyConditions": [
                                        "Succeeded"
                                    ]
                                }
                            ],
                            "policy": {
                                "timeout": "7.00:00:00",
                                "retry": 0,
                                "retryIntervalInSeconds": 30,
                                "secureOutput": false
                            },
                            "typeProperties": {
                                "url": "https://prod-07.australiaeast.logic.azure.com:443/workflows/xxxxxxxxxxxxxxxxxxxxx",
                                "method": "POST",
                                "headers": {
                                    "Content-Type": "application/json"
                                },
                                "body": {
                                    "Status": "Success",
                                    "message": "@{activity('WebActivityToAddPerson').output}",
                                    "subject": "User Added/Updated successfully"
                                }
                            }
                        }
                    ]
                }
            },
            {
                "name": "SuccessSurveySentNotification",
                "type": "WebActivity",
                "dependsOn": [
                    {
                        "activity": "ForEachLead",
                        "dependencyConditions": [
                            "Succeeded"
                        ]
                    }
                ],
                "policy": {
                    "timeout": "7.00:00:00",
                    "retry": 0,
                    "retryIntervalInSeconds": 30,
                    "secureOutput": false
                },
                "typeProperties": {
                    "url": "https://prod-07.australiaeast.logic.azure.com:443/workflows/xxxxxxxxxxxxxxxxxxxxxx",
                    "method": "POST",
                    "headers": {
                        "Content-Type": "application/json"
                    },
                    "body": {
                        "Status": "Success",
                        "message": "@{item()}",
                        "subject": "Survey sent successfully"
                    }
                }
            }
        ],
        "parameters": {
            "leadList": {
                "type": "Object"
            }
        }
    }
}

1 Ответ

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

Итак, я нашел ответ. Элемент () выдавал мне значение NULL, потому что параметр foreach обрабатывался неправильно, поэтому в item () ничего не было.

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