Копирование данных из Square с помощью Azure Data Factory или Synapse Analytics

ПРИМЕНИМО К: Azure Data Factory Azure Synapse Analytics

Совет

Data Factory в Microsoft Fabric — это следующее поколение Azure Data Factory с более простой архитектурой, встроенным ИИ и новыми функциями. Если вы не знакомы с интеграцией данных, начните с Fabric Data Factory. Существующие рабочие нагрузки ADF могут обновляться до Fabric для доступа к новым возможностям в области обработки и анализа данных, аналитики в режиме реального времени и отчетов.

В этой статье описывается, как использовать активность копирования в конвейере Azure Data Factory или Synapse Analytics для копирования данных из Square. Это продолжение статьи об обзоре действия копирования, в которой представлены общие сведения о действии копирования.

Внимание

Соединитель Square версии 1.0 находится на этапе удаления. Рекомендуется обновить соединитель Square с версии 1.0 до версии 2.0.

Поддерживаемые возможности

Этот соединитель Square поддерживает следующие возможности:

Поддерживаемые возможности IR
Copy activity (источник/-) (1) (2)
Операция поиска (1) (2)

(1) Azure среды выполнения интеграции (2) локальная среда выполнения интеграции

Список хранилищ данных, которые поддерживаются в качестве источников/приемников, см. в таблице Поддерживаемые хранилища данных.

Служба предоставляет встроенный драйвер для обеспечения подключения, поэтому вам не нужно вручную устанавливать какой-либо драйвер с помощью этого соединителя.

Соединитель поддерживает версии Windows в этой статье.

Предпосылки

Если хранилище данных находится в локальной сети, виртуальной сети Azure или Amazon Virtual Private Cloud, необходимо настроить самостоятельно размещаемую среду выполнения интеграции для подключения к нему.

Если хранилище данных является управляемой облачной службой данных, можно использовать Azure Integration Runtime. Если доступ ограничен ip-адресами, утвержденными в правилах брандмауэра, в список разрешений можно добавить ip-адреса Azure Integration Runtime/c0.

Вы также можете использовать функцию управляемой среды выполнения интеграции виртуальной сети в Azure Data Factory для доступа к локальной сети без установки и настройки локальной среды выполнения интеграции.

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

Примечание.

Версия 2.0 поддерживается с локальной средой выполнения интеграции версии 5.56.0.0 или более поздней.

Начало работы

Для выполнения действия копирования с конвейером можно использовать один из следующих средств или пакетов SDK:

Создание связанной службы для Square с помощью пользовательского интерфейса

Выполните следующие действия, чтобы создать связанную службу для Square в пользовательском интерфейсе портала Azure.

  1. Перейдите на вкладку "Управление" в рабочей области Azure Data Factory или Synapse и выберите "Связанные службы", а затем нажмите кнопку "Создать".

  2. Найдите Square и выберите соединитель Square.

    Снимок экрана: соединитель Square.

  3. Настройте сведения о службе, проверьте подключение и создайте связанную службу.

    Снимок экрана: конфигурация связанной службы для Square.

Сведения о конфигурации соединителя

Следующие разделы содержат сведения о свойствах, используемых для определения сущностей фабрики данных, относящихся к соединителю Square.

Свойства связанной службы

Соединитель Square теперь поддерживает версию 2.0. См. этот раздел , чтобы обновить версию соединителя Square с версии 1.0. Чтобы узнать подробности о свойстве, см. соответствующие разделы.

Версия 2.0

Связанная служба Square поддерживает следующие свойства при применении версии 2.0:

Свойство Описание: Обязательное поле
тип Для свойства type необходимо задать значение Square Да
version Версия, которую вы указали. Значение равно 2.0. Да
хост URL-адрес экземпляра Square. (т. е. mystore.mysquare.com) Да
clientId Идентификатор клиента, связанный с приложением Square. Да
clientSecret Секрет клиента, связанный с приложением Square. Пометьте это поле как SecureString, чтобы безопасно хранить его, или ссылаться на секрет, хранящийся в Azure Key Vault. Да
accessToken Маркер доступа, полученный из Square. Предоставляет ограниченный доступ к учетной записи Square, запрашивая у пользователя, прошедшего проверку подлинности, явные разрешения. Срок действия маркеров доступа OAuth истекает через 30 дней после выдачи, но срок действия маркеров обновления не истекает. Токены доступа могут обновляться с помощью токена обновления.
Пометьте это поле как SecureString, чтобы безопасно хранить его, или ссылаться на секрет, хранящийся в Azure Key Vault. Дополнительные сведения о типах маркеров доступа см. в разделе "Типы маркеров доступа".
Да
рефреш токен Токен обновления, полученный из Square. Используется для получения новых токенов доступа при истечении срока действия текущего токена.
Пометьте это поле как SecureString, чтобы сохранить его или ссылаться на секрет, хранящийся в Azure Key Vault.
Нет
connectVia Integration Runtime для подключения к хранилищу данных. Если он не указан, используется Azure Integration Runtime по умолчанию. Вы можете использовать локальную среду выполнения интеграции, а ее версию — 5.56.0.0 или более поздней. Нет

Пример:

{
    "name": "SquareLinkedService",
    "properties": {
        "type": "Square",
        "version": "2.0",
        "typeProperties": {
            "host": "<e.g. mystore.mysquare.com>", 
            "clientId": "<client ID>", 
            "clientSecret": {
                "type": "SecureString",
                "value": "<clientSecret>"
            }, 
            "accessToken": {
                "type": "SecureString",
                "value": "<access token>"
            }, 
            "refreshToken": {
                "type": "SecureString",
                "value": "<refresh token>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Версия 1.0

Связанная служба Square поддерживает следующие свойства при применении версии 1.0:

Свойство Описание: Обязательное поле
тип Для свойства type необходимо задать значение Square Да
свойстваПодключения Группа свойств, определяющих способ подключения к Square. Да
В разделе connectionProperties:
хост URL-адрес экземпляра Square. (т. е. mystore.mysquare.com) Да
clientId Идентификатор клиента, связанный с приложением Square. Да
clientSecret Секрет клиента, связанный с приложением Square. Пометьте это поле как SecureString, чтобы безопасно хранить его, или ссылаться на секрет, хранящийся в Azure Key Vault. Да
accessToken Маркер доступа, полученный из Square. Предоставляет ограниченный доступ к учетной записи Square, запрашивая у пользователя, прошедшего проверку подлинности, явные разрешения. Срок действия маркеров доступа OAuth истекает через 30 дней после выдачи, но срок действия маркеров обновления не истекает. Токены доступа могут обновляться с помощью токена обновления.
Пометьте это поле как SecureString, чтобы безопасно хранить его, или ссылаться на секрет, хранящийся в Azure Key Vault. Дополнительные сведения о типах маркеров доступа см. в разделе "Типы маркеров доступа".
Да
рефреш токен Токен обновления, полученный из Square. Используется для получения новых токенов доступа при истечении срока действия текущего токена.
Пометьте это поле как SecureString, чтобы сохранить его или ссылаться на секрет, хранящийся в Azure Key Vault.
Нет
использоватьЗашифрованныеКонечныеТочки Указывает, шифруются ли конечные точки источника данных с помощью протокола HTTPS. Значение по умолчанию — true. Нет
useHostVerification Указывает, следует ли требовать, чтобы имя узла в сертификате сервера совпадало с именем узла сервера при подключении по протоколу TLS. Значение по умолчанию — true. Нет
usePeerVerification Указывает, следует ли проверять удостоверение сервера при подключении по протоколу TLS. Значение по умолчанию — true. Нет
connectVia Integration Runtime для подключения к хранилищу данных. Если он не указан, используется Azure Integration Runtime по умолчанию. Нет

Пример:

{
    "name": "SquareLinkedService",
    "properties": {
        "type": "Square",
        "typeProperties": {
            "connectionProperties": {
                "host": "<e.g. mystore.mysquare.com>", 
                "clientId": "<client ID>", 
                "clientSecret": {
                    "type": "SecureString",
                    "value": "<clientSecret>"
                }, 
                "accessToken": {
                    "type": "SecureString",
                    "value": "<access token>"
                }, 
                "refreshToken": {
                    "type": "SecureString",
                    "value": "<refresh token>"
                }, 
                "useEncryptedEndpoints": true, 
                "useHostVerification": true, 
                "usePeerVerification": true 
            }
        }
    }
}

Типы токенов доступа

Square поддерживает два типа маркера доступа: личный и OAuth.

  • Персональные токены доступа используются для получения неограниченного доступа к ресурсам в вашей учетной записи Square через Connect API.

  • Маркеры доступа OAuth используются для получения аутентифицированного и целевого доступа к API Connect любой учетной записи Square. Используйте их, когда приложение обращается к ресурсам в других учетных записях Square от имени владельцев учетных записей. Маркеры доступа OAuth также можно использовать для доступа к ресурсам в своей учетной записи Square.

    Внимание

    Чтобы выполнить тестовое подключение в связанной службе, MERCHANT_PROFILE_READ должен получить маркер доступа OAuth с заданной областью действия. Разрешения на доступ к другим таблицам описаны в справочнике по разрешениям Square OAuth.

Проверка подлинности с помощью личного маркера доступа требует только accessToken, тогда как для проверки подлинности с помощью OAuth необходимы accessToken и refreshToken. Узнайте, как получить маркер доступа, здесь.

Свойства набора данных

Полный список разделов и свойств, доступных для определения наборов данных, см. в статье о наборах данных. В этом разделе содержится список свойств, поддерживаемых набором данных Square.

Чтобы скопировать данные из Square, установите свойство type набора данных SquareObject. Поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
тип Свойство type для набора данных должно иметь значение SquareObject Да
tableName Имя таблицы. Да для версии 2.0.
Нет для версии 1.0 (если указан "запрос" в источнике действия)

Пример

{
    "name": "SquareDataset",
    "properties": {
        "type": "SquareObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Square linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Свойства Copy activity

Полный список разделов и свойств, используемых для определения действий, обратитесь к статье Конвейеры. В этом разделе содержится список свойств, поддерживаемых источником Square.

Square в качестве источника

Чтобы скопировать данные из Square, задайте тип источника SquareSource в действии копирования. В разделе source действия копирования поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
тип Свойство type источника действия копирования должно иметь значение SquareSource Да
запрос Используйте пользовательский SQL-запрос для чтения данных. Например: "SELECT * FROM Business". Нет (если для набора данных задано свойство tableName)

Примечание.

query не поддерживается в версии 2.0.

Пример:

"activities":[
    {
        "name": "CopyFromSquare",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Square input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SquareSource",
                "query": "SELECT * FROM Business"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Сопоставление типов данных для Square

При копировании данных из Square следующие сопоставления типов данных Square к внутренним типам данных, используемым службой, применяются. Чтобы узнать, как действие копирования сопоставляет исходную схему и типы данных с приемником, см. раздел Сопоставление схем и типов данных.

Квадратный тип данных Тип данных промежуточной службы (для версии 2.0) Тип данных промежуточной службы (для версии 1.0)
String String String
Целое число Int32 Int32
Long Int64 Int64
Boolean Boolean Boolean
Date String Не поддерживается.
Отметка времени String Не поддерживается.
Метка времени со смещением String Не поддерживается.
Длительность (полная) String String
Длительность (только время) String String
Деньги Int64 Int64

Свойства операции поиска

Подробные сведения об этих свойствах см. в разделе Действие поиска.

Жизненный цикл и обновление квадратных соединителей

В следующей таблице показаны этап выпуска и журналы изменений для различных версий соединителя Square:

Версия Этап выпуска Журнал изменений
Версия 1.0 Removed Неприменимо.
Версия 2.0 Общая доступность • Локальная версия среды выполнения интеграции должна быть 5.56.0.0 или более поздней.

• Дата, метка времени и метка времени со смещением считываются как тип данных String.

useEncryptedEndpoints, useHostVerification, usePeerVerification не поддерживаются в подключенном сервисе.

query не поддерживается.

Обновление соединителя Square с версии 1.0 до версии 2.0

  1. На странице "Изменить связанную службу" выберите версию 2.0. Дополнительные сведения см. в свойствах связанной службы версии 2.0.

  2. Сопоставление типов данных для связанной службы Square версии 2.0 отличается от сопоставления типов данных для версии 1.0. Сведения о последнем сопоставлении типов данных см. в разделе "Сопоставление типов данных" для Square.

  3. Примените локальную среду выполнения интеграции с версией 5.56.0.0 или более поздней.

  4. query поддерживается только в версии 1.0. Следует использовать tableName вместо query в версии 2.0.

Список хранилищ данных, которые поддерживаются в качестве источников и приемников для операции копирования, можно найти в разделе поддерживаемые хранилища данных.