Как локализовать ошибку Azure Data Factory HubSpot Connector V2, когда пустая строка попадает в DateTime: матрица типов, минимальный тест и стоп-условия до изменения production mapping.
Разделите пустую строку и тип DateTime
В официальной таблице HubSpot Connector 2.0 свойства date и datetime сопоставлены с внутренним DateTime, а строковые свойства — со String. Поэтому значение `""`, null и отсутствующее свойство нельзя считать одним состоянием. Зафиксируйте имя поля, тип из HubSpot, значение в одной проблемной записи и тип, который видит ADF. Не переносите в отчёт содержимое контакта, адреса и другие персональные данные: достаточно имени технического свойства, формы значения и текста ошибки. Такой снимок показывает, где возникает несовместимость, но сам по себе не доказывает ошибку коннектора.
Соберите матрицу source schema → mapping → sink
Copy Activity поддерживает импорт схемы, явное сопоставление столбцов и преобразование через промежуточные типы. Сделайте строками матрицы три варианта одного поля: корректная дата, null или отсутствующее значение и пустая строка. Колонки — исходный тип, импортированный тип, правило mapping и ожидаемый тип назначения. Если падает только пустая строка, причина локализована на границе значения и преобразования; если все варианты, сначала проверяйте выбранное поле и схему. Не меняйте тип всего набора данных, пока одна колонка не воспроизводит симптом отдельно.
Проведите минимальный обратимый тест
Создайте безопасную тестовую выборку без персональных данных и выполните три отдельных копирования, меняя только значение исследуемого поля. Сохраните run ID, версию linked service, импортированную schema и точный error code. Затем повторите один вариант с явным mapping, который согласован с документированным типом назначения. Успех означает, что контролируемая запись проходит, а остальные колонки и sink не изменились. Одна успешная строка не разрешает массовую замену пустых значений: сначала оцените, не изменит ли нормализация смысл данных и downstream-валидацию.
Остановитесь до широкого изменения pipeline
Не переключайте все DateTime-поля в String и не очищайте значения в источнике только ради исчезновения ошибки. Подготовьте владельцу pipeline пакет: имя connector version, data flow или Copy Activity, поле, три формы значения, mapping, run ID и UTC-время. Исключите токены, connection strings и исходные записи клиентов. Если import schema и явный mapping расходятся либо минимальный тест даёт разные результаты при неизменной конфигурации, это граница для поддержки. Проверяемый итог — известен конкретный слой конфликта и есть воспроизводимая обезличенная запись, а не только общий stack trace.
Материал подготовлен редакцией VOne с применением ИИ для структурирования; факты вручную сверены с официальной документацией Microsoft, а форумная ветка использована только как обезличенный сигнал боли.
Источники и проверка
- Microsoft Learn — HubSpot connector for Azure Data Factory проверено 2026-07-31
- Microsoft Learn — Schema and type mapping in Copy Activity проверено 2026-07-31
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.