Настройка разбиения на страницы для копирования фабрики данных Azure с помощью вызова API POST

#azure-data-factory-2

Вопрос:

Я работаю с вызовом API REST POST и ADFv2, пытаясь заставить работать разбиение на страницы. Я использую вызов API поиска контактов HubSpot V3 https://developers.hubspot.com/docs/api/crm/contacts который использует параметр, вызываемый after в теле запроса, чтобы сообщить серверу, какую страницу данных необходимо получить.

Я не уверен, как настроить следующее в ADFv2 Действие копирования данных в источнике:

  • Тело запроса — параметр «после» должен ли это быть динамический контент?
  • Правила разбиения на страницы — Какими должны быть Имя и значение?

Я думаю, что ответ кроется в этих двух полях, но я даже не могу привести в действие правила разбиения на страницы. Я продолжаю получать эту ошибку Failure happened on 'Source' side. ErrorCode=UserErrorInvalidPaginationRule,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Invalid PaginationRule, RuleKey=after, RuleValue=$.page.next.after,Source=Microsoft.DataTransfer.ClientLibrary,' Для этого кода

     "name": "For StackOverflow",
    "properties": {
        "activities": [
            {
                "name": "Copy HubSpot Contact Data to Staging table",
                "description": "Using manual mappingsnUses Rest V3 API from HubSpot",
                "type": "Copy",
                "dependsOn": [],
                "policy": {
                    "timeout": "7.00:00:00",
                    "retry": 0,
                    "retryIntervalInSeconds": 30,
                    "secureOutput": false,
                    "secureInput": false
                },
                "userProperties": [],
                "typeProperties": {
                    "source": {
                        "type": "RestSource",
                        "httpRequestTimeout": "00:01:40",
                        "requestInterval": "00.00:00:00.010",
                        "requestMethod": "POST",
                        "requestBody": {
                            "value": "@concat('{n    "filterGroups":[n      {n        "filters":[n          {n            "propertyName": "lastmodifieddate",n            "operator": "GTE",n            "value": "', pipeline().parameters.lastmodifieddate,'"n          }n        ]n      }n    ],n"properties": [ "firstname","lastname"],n  "limit": 100,n  "after": 0n  }')",
                            "type": "Expression"
                        },
                        "additionalHeaders": {
                            "Content-Type": "application/json"
                        },
                        "paginationRules": {
                            "after": "$.page.next.after"
                        }
                    },
                    "sink": {
                        "type": "SqlMISink",
                        "preCopyScript": "IF OBJECT_ID(N'ELT.Testing', N'U') IS NOT NULL BEGIN TRUNCATE TABLE [ELT].[Testing]; END",
                        "tableOption": "autoCreate"
                    },
                    "enableStaging": false,
                    "translator": {
                        "type": "TabularTranslator",
                        "mappings": [
                            {
                                "source": {
                                    "path": "['id']"
                                },
                                "sink": {
                                    "name": "id",
                                    "type": "Int32"
                                }
                            },
                            {
                                "source": {
                                    "path": "['properties']['firstname']"
                                },
                                "sink": {
                                    "name": "firstname",
                                    "type": "String"
                                }
                            },
                            {
                                "source": {
                                    "path": "['properties']['lastmodifieddate']"
                                },
                                "sink": {
                                    "name": "lastmodifieddate",
                                    "type": "DateTime"
                                }
                            },
                            {
                                "source": {
                                    "path": "['properties']['lastname']"
                                },
                                "sink": {
                                    "name": "lastname",
                                    "type": "String"
                                }
                            }
                        ],
                        "collectionReference": "$['results']"
                    }
                },
                "inputs": [
                    {
                        "referenceName": "HubSpot_Contact_Search_REST_API_V3",
                        "type": "DatasetReference",
                        "parameters": {
                            "hapikey": {
                                "value": "@pipeline().parameters.hapikey",
                                "type": "Expression"
                            }
                        }
                    }
                ],
                "outputs": [
                    {
                        "referenceName": "jcl_bi_mi_JCBIFactory_db",
                        "type": "DatasetReference",
                        "parameters": {
                            "schema": "ELT",
                            "tableName": "Testing"
                        }
                    }
                ]
            }
        ],
        "parameters": {
            "hapikey": {
                "type": "string",
                "defaultValue": "demo"
            },
            "lastmodifieddate": {
                "type": "string",
                "defaultValue": "1633016608963"
            }
        },
        "folder": {
            "name": "HubSpot"
        },
        "annotations": []
    }
}```