# Gigya インポート連携 Gigya(SAP Customer Data Cloud)から [Accounts](https://help.sap.com/viewer/8b8d6fffe113457094a17701f63e3d6a/GIGYA/en-US/b32ce0918af44c3ebd7e96650fa6cc1d.md)、[Profile Management](https://help.sap.com/viewer/8b8d6fffe113457094a17701f63e3d6a/GIGYA/en-US/81104a226fa04009870a898a77f58ca7.md)、[Data Store](https://help.sap.com/viewer/8b8d6fffe113457094a17701f63e3d6a/GIGYA/en-US/415206b370b21014bbc5a10ce4041860.md)、[Audit Log](https://help.sap.com/viewer/8b8d6fffe113457094a17701f63e3d6a/GIGYA/en-US/4143815a70b21014bbc5a10ce4041860.md) のデータを Treasure Data に取り込むことができます。 ## 前提条件 - [TD toolbelt](https://toolbelt.treasuredata.com/) を含む Treasure Data の基礎知識 - Gigya アカウント - Accounts オブジェクトからデータを取得するための [Query Syntax Specification](https://developers.gigya.com/display/GD/accounts.search+REST#accounts.searchREST-QuerySyntaxSpecification) に関する基礎知識 - [増分ロードについて](/ja/int/about-incremental-loading) を確認してください 増分ロードは、指定された増分列の最大値(max value)を使用して、最初の実行時には最大値までのすべてのレコードをロードし、以降の実行では前回の実行の(最大値 +1)から、ジョブが実行される現在の時刻までのレコードをインポートします。これが新しい最大値となります。 ## サポート対象 - Select 句 - From 句 - Where 句 - Group By 句 ## 制限事項と要件 - **START**、**CONTAINS**、**WITH** キーワードはサポートされていません - **COUNTERS** はサポートされていません - クエリ内の **LIMIT** 句は自動的に削除されます(**SELECT * FROM ACCOUNTS LIMIT 100**)は制限を無視してすべてのレコードを返します - 集計関数(***sum, min, max, avg, sum_of_squares, variance, std***)と **Group By** 句を含むクエリは、最初のページのみ取り込むことができます - **FROM** 句に無効なオブジェクトを入力した場合(例:***SELECT * FROM unexisted***)、クエリは自動的に accounts オブジェクトにフォールバックします - カラム名は大文字と小文字を区別し、オブジェクト名は大文字と小文字を区別しません ### クエリ構文の制限事項 Treasure Data は、Gigya 向けに以下の SQL クエリ構文をサポートしています: - Select 句 - From 句 - Where 句 - Group By 句 - START、CONTAINS、WITH キーワードはサポートされていません。 - COUNTERS はサポートされていません。 - クエリ内の LIMIT 句は自動的に削除されます。 SELECT * FROM ACCOUNTS LIMIT 100 はすべてのレコードを返し、制限を無視します。 - 集計関数(sum, min, max, avg, sum_of_squares, variance, std)と Group By 句を含むクエリは、最初のページのみ取り込むことができます。 - カラム名は大文字と小文字を区別します。 - オブジェクト名は大文字と小文字を区別しません。 - 増分列は数値型またはタイムスタンプ型である必要があります。 ### Account データソースの制限事項 - データクエリは、accounts と email accounts の 2 つのオブジェクトに制限されます。 - FROM 句に無効なオブジェクトを入力すると、クエリは自動的に accounts オブジェクトにフォールバックします。 例:`SELECT * FROM does_not_exist` は、`does_not_exist` を accounts に置き換えます。 - accounts オブジェクトでサポートされる増分列:[lastLogin, registered, oldestDataUpdatedTimestamp, lastUpdated, verifiedTimestamp, oldestDataUpdated, lastUpdatedTimestamp, created, createdTimestamp, verified, registeredTimestamp, lastLoginTimestamp, lockedUntil] - emailAccounts でサポートされる増分列:[lastUpdated, lastUpdatedTimestamp, created, createdTimestamp] - 参考リンク:[accounts.search REST](https://help.sap.com/viewer/8b8d6fffe113457094a17701f63e3d6a/GIGYA/en-US/b32ce0918af44c3ebd7e96650fa6cc1d.md) ### Profile Management データソースの制限事項 - データクエリは、accounts と email accounts の 2 つのオブジェクトに制限されます。 - FROM 句に無効なオブジェクトを入力すると、クエリは自動的に accounts オブジェクトにフォールバックします。 例:`SELECT * FROM does_not_exist` は、`does_not_exist` を accounts に置き換えます。 - accounts オブジェクトでサポートされる増分列:[lastLogin, registered, oldestDataUpdatedTimestamp, lastUpdated, verifiedTimestamp, oldestDataUpdated, lastUpdatedTimestamp, created, createdTimestamp, verified, registeredTimestamp, lastLoginTimestamp, lockedUntil] - emailAccounts でサポートされる増分列:[lastUpdatedTimestamp, created, createdTimestamp, lastUpdated] - 参考リンク:[ids.search REST](https://help.sap.com/viewer/8b8d6fffe113457094a17701f63e3d6a/GIGYA/en-US/81104a226fa04009870a898a77f58ca7.md) ### Data Store データソースの制限事項 - FROM 句に無効なオブジェクトを入力すると、エラー [400006] Invalid parameter value: Invalid argument: accounts type not allowed が返されます - ターゲット Data Store のスキーマに応じて、増分列は異なります。ただし、無効なカラム名を入力すると、TD Console からのエラーで許容されるカラム名を確認できます。 - 参考リンク:[ds.search REST](https://help.sap.com/viewer/8b8d6fffe113457094a17701f63e3d6a/GIGYA/en-US/415206b370b21014bbc5a10ce4041860.md) ### Audit Log データソースの制限事項 - サポートされる増分列:[@timestamp] - 参考リンク:[audit.search](https://help.sap.com/viewer/8b8d6fffe113457094a17701f63e3d6a/GIGYA/en-US/4143815a70b21014bbc5a10ce4041860.md) ## 増分ロードと数値型およびタイムスタンプ型カラム 増分ロードは、指定された増分列の最大値(max value)を使用して、最初の実行時には最大値までのすべてのレコードをロードし、以降の実行では前回の実行の(最大値 +1)から、ジョブが実行される現在の時刻(これが新しい最大値になります)までのレコードをインポートします。 サポート対象: - 数値型またはタイムスタンプ型の増分列 - Accounts オブジェクトの増分列:[lastUpdated, lastUpdatedTimestamp, created, createdTimestamp] - EmailAccounts の増分列: [lastLogin, registered, oldestDataUpdatedTimestamp, lastUpdated, verifiedTimestamp, oldestDataUpdated, lastUpdatedTimestamp, created, createdTimestamp, verified, registeredTimestamp, lastLoginTimestamp, lockedUntil] - auditLog でサポートされる増分列:[@timestamp] ## TD Console を使用した接続の作成 ### Gigya から API Key、User Key、Secret Key を取得する 1. [Creating and Managing Applications](https://developers.gigya.com/display/GD/Signing+Requests+to+SAP+Customer+Data+Cloud#SigningRequeststoSAPCustomerDataCloud-CreatingandManagingApplications) の手順に従って、アプリケーションを作成し、**App User Key** と **Secret Key** を取得します。 2. [API Key and Site Setup](https://developers.gigya.com/display/GD/APIs+and+SDKs#APIsandSDKs-APIKeyandSiteSetup) の手順に従って、**API Key** を取得します。 3. 手順に従って [Data Center](https://developers.gigya.com/display/GD/Finding+Your+Data+Center#FindingYourDataCenter-DataCenters) を確認します。 ### 新しい接続を作成する データ接続を設定する際には、連携にアクセスするための認証情報を提供します。Treasure Data では、まず認証を設定してから、ソース情報を指定します。 1. TD Console を開きます。 2. Integrations Hub -> Catalog に移動します。 3. Gigya(SAP Customer Data Cloud)を検索して選択します。 ![](/assets/image2021-5-25_14-44-41.98720c1031155d78df3c5e939cf2cfbe0d4b74e1a0ebbc199572f82a93a8955e.236f7714.png) 以下のダイアログが開きます。 ![](/assets/image2021-4-27_8-59-59.c1f19586bd853c61e891beb3085827a3ea92c634949a9cef4796e99db38d7474.236f7714.png) 1. アカウントの Data Center を選択します。 2. 以下の値を入力します: - API Key - User Key - User Secret ![](/assets/image2021-4-27_9-13-2.c9aa87cc32a42f315c85b097ccf634eff14662d56b3dfba341b6a90cf0b21d10.236f7714.png) 1. **Continue** を選択します。 2. 接続の名前を入力し、**Done** を選択します。 ![](/assets/image2021-4-27_9-19-20.0251626fe2dbb06d6cd6a82282393d7bfd525d12e1a8d651ca3c983ff1025585.236f7714.png) ### Gigya Accounts データを Treasure Data に転送する 認証された接続を作成すると、自動的に Authentications タブに移動します。 1. 作成した接続を検索し、**New Source** を選択します。 ![](/assets/image2021-4-27_9-22-44.ff977a0a1de91a5bd4ac0859362faa6aa6a63e1d68b6c9d91be23e8967cbceec.236f7714.png) 1. **Source** に名前を付けます。 2. **Next** を選択します。 3. Source Table でパラメータを編集します。 ![](/assets/image2021-12-16_9-48-7.6b4c32d58610b29a3d8bcbadab308a723f5d8e70c334249e82db71a9ca9af539.236f7714.png) | **パラメータ** | **説明** | | --- | --- | | **Data Source** | ターゲットデータソース。現在サポート対象:Accounts、Profile Management、Data Store、Audit Log | | **Query** | データを取り込むための Gigya のクエリ。ターゲットオブジェクトによって、クエリは異なります。 Account と Profile Management データソースの場合、accounts と emailAccounts オブジェクトのみサポート(サンプルクエリ:`Select * From accounts`) Data Store の場合、オブジェクトは任意(サンプルクエリ:`Select * From my_data`) Audit Log の場合、auditLog オブジェクトのみサポート(サンプルクエリ:`Select * From auditLog`) | | **Fields To Exclude** | **Gigya の API 仕様により**、SELECT ステートメントに含めるカラムを指定することはできません。このパラメータを使用して、不要なカラムを削除できます。 | | **Batch Size** | 1 回の API 呼び出しで取得するレコードの最大数。最大値は 10000、最小値は 10 です。バッチサイズをカスタマイズする際は、以下を考慮してください:小さい値にすると API の応答は速くなりますが、API 呼び出しの回数が増えます。 | | **Incremental** | スケジュールで実行する場合、次回のインポートでは、Incremental Column の値に基づいて、前回の実行後に更新されたデータのみを取り込みます。 | | **Incremental Column** | 増分転送を実行するデータオブジェクトのカラム。 Account と Profile Management データソースの場合、推奨値:created、createdTimestamp、updated、updatedTimestamp。 Data Store データソースの場合、推奨値:数値型または日時型のカラム Audit Log データソースの場合、推奨値:@timestamp | 1. **Data Settings** ダイアログで、データ設定を編集するか、このステップをスキップできます。 ![](/assets/screenshot-2025-01-06-at-11.22.05.f73041e49fc1f9443fc53aa7c7f46b62da9741e7d71e1caaaeb466f0955200a9.236f7714.png) デフォルトでは、コネクタはデータ型を自動的に検出できます。ただし、ユーザーは *column_options* パラメータを使用して、インポート属性フィールドのデータ型をカスタマイズできます。サポートされるデータ型のマッピング: - boolean - long - double - string - timestamp - json ### Data Preview インポートを実行する前に、Generate Preview を選択してデータの[プレビュー](/products/customer-data-platform/integration-hub/batch/import/previewing-your-source-data)を表示できます。Data preview はオプションであり、選択した場合はダイアログの次のページに安全にスキップできます。 1. **Next** を選択します。Data Preview ページが開きます。 2. データをプレビューする場合は、**Generate Preview** を選択します。 3. データを確認します。 ### Data Placement データの配置について、データを配置したいターゲット database と table を選択し、インポートを実行する頻度を指定します。 1. **Next** を選択します。Storage の下で、インポートされたデータを配置する新しい database を作成するか、既存の database を選択し、新しい table を作成するか、既存の table を選択します。 2. **Database** を選択 > **Select an existing** または **Create New Database** を選択します。 3. オプションで、database 名を入力します。 4. **Table** を選択 > **Select an existing** または **Create New Table** を選択します。 5. オプションで、table 名を入力します。 6. データをインポートする方法を選択します。 - **Append** (デフォルト) - データインポートの結果は table に追加されます。 table が存在しない場合は作成されます。 - **Always Replace** - 既存の table の全体の内容をクエリの結果出力で置き換えます。table が存在しない場合は、新しい table が作成されます。 - **Replace on New Data** - 新しいデータがある場合のみ、既存の table の全体の内容をクエリの結果出力で置き換えます。 7. **Timestamp-based Partition Key** 列を選択します。 デフォルトキーとは異なるパーティションキーシードを設定したい場合は、long または timestamp 列をパーティショニング時刻として指定できます。デフォルトの時刻列として、add_time フィルターで upload_time を使用します。 8. データストレージの **Timezone** を選択します。 9. **Schedule** の下で、このクエリを実行するタイミングと頻度を選択できます。 #### 一度だけ実行 1. **Off** を選択します。 2. **Scheduling Timezone** を選択します。 3. **Create & Run Now** を選択します。 #### 定期的に繰り返す 1. **On** を選択します。 2. **Schedule** を選択します。UI では、*@hourly*、*@daily*、*@monthly*、またはカスタム *cron* の 4 つのオプションが提供されます。 3. **Delay Transfer** を選択して、実行時間の遅延を追加することもできます。 4. **Scheduling Timezone** を選択します。 5. **Create & Run Now** を選択します。 転送が実行された後、**Data Workbench** > **Databases** で転送の結果を確認できます。