次の方法で共有


Azure Data Factoryまたは Synapse Analytics を使用して Square からデータをコピーする

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

Data Factory in Microsoft Fabric は、よりシンプルなアーキテクチャ、組み込みの AI、および新機能を備えた次世代のAzure Data Factoryです。 データ統合を初めて使用する場合は、Fabric Data Factory から始めます。 既存の ADF ワークロードをFabricにアップグレードして、データ サイエンス、リアルタイム分析、レポートの新機能にアクセスできます。

この記事では、Azure Data Factoryまたは Synapse Analytics パイプラインでコピー アクティビティを使用して Square からデータをコピーする方法について説明します。 この記事は、コピー アクティビティの概要を示しているコピー アクティビティの概要に関する記事に基づいています。

重要

Square コネクタ バージョン 1.0 は 削除段階にありますSquare コネクタをバージョン 1.0 から 2.0 にアップグレードすることをお勧めします。

サポートされる機能

この Square コネクタは、次の機能でサポートされます。

サポートされる機能 IR
コピー アクティビティ (ソース/-) (1) (2)
Lookup アクティビティ (1) (2)

(1) Azure統合ランタイム (2) セルフホステッド統合ランタイム

ソースおよびシンクとしてサポートされているデータ ストアの一覧については、「サポートされているデータ ストア」の表を参照してください。

このサービスでは接続を有効にする組み込みのドライバーが提供されるので、このコネクタを使用してドライバーを手動でインストールする必要はありません。

コネクタは、このarticleのWindowsバージョンをサポートしています。

[前提条件]

データ ストアがオンプレミス ネットワーク、Azure仮想ネットワーク、または Amazon Virtual Private Cloud 内にある場合は、自身がホストする統合ランタイム を構成して接続する必要があります。

データ ストアがマネージド クラウド データ サービスの場合は、Azure Integration Runtimeを使用できます。 アクセスがファイアウォール規則で承認されている IP に制限されている場合は、許可リストに Azure Integration Runtime IP を追加できます。

Azure Data Factoryの 管理された仮想ネットワーク統合ランタイム機能を使用して、セルフホステッド統合ランタイムをインストールして構成することなく、オンプレミス ネットワークにアクセスすることもできます。

Data Factory によってサポートされるネットワーク セキュリティ メカニズムやオプションの詳細については、「データ アクセス戦略」を参照してください。

Note

バージョン 2.0 は、セルフホステッド統合ランタイム バージョン 5.56.0.0 以降でサポートされています。

作業の開始

パイプラインでコピー アクティビティを実行するには、次のいずれかのツールまたは SDK を使用できます。

UI を使用して Square のリンク サービスを作成する

Azure ポータル UI で Square へのリンクされたサービスを作成するには、次の手順に従います。

  1. Azure Data Factoryまたは Synapse ワークスペースの [管理] タブを参照し、[リンクされたサービス] を選択し、[新規] をクリックします。

    Azure Data Factory UI を使用した新しいリンク サービスの作成のスクリーンショット

  2. Square を検索し、Square コネクタを選択します。

    Square コネクタのスクリーンショット。

  3. サービスの詳細を構成し、接続をテストして、新しいリンク サービスを作成します。

    Square のリンク サービスの構成のスクリーンショット。

コネクタの構成の詳細

次のセクションでは、Square コネクタに固有の Data Factory エンティティの定義に使用されるプロパティについて詳しく説明します。

リンクされたサービスのプロパティ

Square コネクタでバージョン 2.0 がサポートされるようになりました。 Square コネクタのバージョンをバージョン 1.0 からアップグレードするには、この セクション を参照してください。 プロパティの詳細については、対応するセクションを参照してください。

バージョン 2.0

Square のリンクされたサービスでは、バージョン 2.0 を適用するときに次のプロパティがサポートされます。

プロパティ 説明 必須
type プロパティは Square に設定する必要があります。 はい
バージョン 指定するバージョン。 値は 2.0 です。 はい
ホスティング Square インスタンスの URL。 (例: mystore.mysquare.com) はい
clientId Square アプリケーションに関連付けられているクライアント ID。 はい
clientSecret Square アプリケーションに関連付けられているクライアント シークレット。 このフィールドを SecureString としてマークして安全に格納するか、Azure Key Vault はい
accessToken Square から取得したアクセス トークン。 認証されたユーザーに明示的なアクセス許可を要求することによって、Square アカウントへの制限付きアクセスを許可します。 OAuth アクセス トークンは、発行されてから 30 日後に有効期限が切れますが、更新トークンには有効期限がありません。 アクセス トークンは、更新トークンによって更新できます。
このフィールドを SecureString としてマークして安全に格納するか、Azure Key Vault。 アクセス トークンの種類の詳細については、「 アクセス トークンの種類」を参照してください。
はい
refreshToken Square から取得した更新トークン。 現在のアクセス トークンの有効期限が切れたときに、新たに取得するために使用されます。
このフィールドを SecureString としてマークして安全にFactory に格納するか、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 に設定する必要があります。 はい
connectionProperties Square への接続方法を定義するプロパティのグループ。 はい
connectionProperties の下:
ホスティング Square インスタンスの URL。 (例: mystore.mysquare.com) はい
clientId Square アプリケーションに関連付けられているクライアント ID。 はい
clientSecret Square アプリケーションに関連付けられているクライアント シークレット。 このフィールドを SecureString としてマークして安全に格納するか、Azure Key Vault はい
accessToken Square から取得したアクセス トークン。 認証されたユーザーに明示的なアクセス許可を要求することによって、Square アカウントへの制限付きアクセスを許可します。 OAuth アクセス トークンは、発行されてから 30 日後に有効期限が切れますが、更新トークンには有効期限がありません。 アクセス トークンは、更新トークンによって更新できます。
このフィールドを SecureString としてマークして安全に格納するか、Azure Key Vault。 アクセス トークンの種類の詳細については、「 アクセス トークンの種類」を参照してください。
はい
refreshToken Square から取得した更新トークン。 現在のアクセス トークンの有効期限が切れたときに、新たに取得するために使用されます。
このフィールドを SecureString としてマークして安全にFactory に格納するか、Azure Key Vaultに格納されているシークレットを参照します。
いいえ
useEncryptedEndpoints データ ソースのエンドポイントが HTTPS を使用して暗号化されるかどうかを指定します。 既定値は、true です。 いいえ
useHostVerification TLS 経由で接続するときに、サーバーの証明書内のホスト名がサーバーのホスト名と一致する必要があるかどうか指定します。 既定値は、true です。 いいえ
usePeerVerification TLS 経由で接続するときに、サーバーの ID を検証するかどうかを指定します。 既定値は、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 という 2 種類のアクセス トークンがサポートされます。

  • 個人用アクセス トークンを使用すると、自分の Square アカウントのリソースに Connect API で無制限にアクセスできます。

  • OAuth アクセス トークンを使用すると、任意の Square アカウントに対して、Connect API を使用した認証済みのスコープ指定アクセスを取得できます。 これは、アカウント所有者の代わりにアプリが他の Square アカウント内のリソースにアクセスするときに使用します。 また、OAuth アクセス トークンを使用して、自分の Square アカウントのリソースにアクセスすることもできます。

    重要

    リンク サービスでテスト接続を実行するには、スコープ指定 OAuth アクセス トークンを取得するために MERCHANT_PROFILE_READ が必要です。 他のテーブルにアクセスするためのアクセス許可については、Square OAuth アクセス許可に関するリファレンスを参照してください。

個人用アクセス トークンによる認証に必要なのは accessToken のみですが、OAuth による認証には accessTokenrefreshToken が必要になります。 アクセス トークンの取得方法については、こちらを参照してください。

データセットのプロパティ

データセットを定義するために使用できるセクションとプロパティの完全な一覧については、データセットに関する記事をご覧ください。 このセクションでは、Square データセットでサポートされるプロパティの一覧を示します。

Square からデータをコピーするには、データセットの type プロパティを SquareObject に設定します。 次のプロパティがサポートされています。

プロパティ 説明 必須
データセットの type プロパティは、SquareObject に設定する必要があります。 はい
tableName テーブルの名前。 はい (バージョン 2.0 の場合)。
バージョン 1.0 では No (アクティビティ ソースの "query" が指定されている場合)

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

Copy アクティビティ のプロパティ

アクティビティの定義に利用できるセクションとプロパティの完全な一覧については、パイプラインに関する記事を参照してください。 このセクションでは、Square ソース でサポートされるプロパティの一覧を示します。

ソースとしての Square

Square からデータをコピーするには、コピー アクティビティのソースの種類を SquareSource に設定します。 コピー アクティビティの source セクションでは、次のプロパティがサポートされます。

プロパティ 説明 必須
コピー アクティビティのソースの type プロパティは SquareSource に設定する必要があります。 はい
クエリ カスタム SQL クエリを使用してデータを読み取ります。 例: "SELECT * FROM Business" いいえ (データセットの "tableName" が指定されている場合)

Note

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
ブール値 ブール値 ブール値
日付 String サポートされていません。
タイムスタンプ String サポートされていません。
オフセット付きタイムスタンプ String サポートされていません。
期間 (完全) String String
期間 (時間のみ) String String
お金 Int64 Int64

Lookup アクティビティのプロパティ

プロパティの詳細については、Lookup アクティビティに関するページを参照してください。

Square コネクタのライフサイクルとアップグレード

次の表は、Square コネクタのさまざまなバージョンのリリース ステージと変更ログを示しています。

Version リリース ステージ 変更ログ
バージョン 1.0 Removed 適用されません。
バージョン 2.0 一般公開 • セルフホステッド統合ランタイムのバージョンは 5.56.0.0 以降である必要があります。

• 日付、タイムスタンプ、およびオフセットを持つタイムスタンプは、文字列データ型として読み取られます。

• リンクされたサービスでは、 useEncryptedEndpointsuseHostVerificationusePeerVerification はサポートされていません。

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 でのみサポートされています。 バージョン 2.0 では、tableNameの代わりにqueryを使用する必要があります。

Copy アクティビティでソースおよびシンクとしてサポートされるデータ ストアの一覧については、サポートされるデータ ストアに関するセクションを参照してください。