メインコンテンツまでスキップ

Xeroからデータを取り込む

備考

ベータ版

この機能はベータ版です。使用するには、ワークスペース管理者は プレビュー ページから Lakeflow Connect for Xero を有効にする必要があります。Databricksのプレビューを管理を参照してください。

Xero データを Unity Catalog テーブルに取り込むマネージド Lakeflow Connect パイプラインを作成します。Databricks UI、宣言型自動化バンドル、または Databricks ノートブックを使用します。

要件​

  • 取り込み パイプラインを作成するには、まず次の要件を満たす必要があります。

    • ワークスペースでUnity Catalogが有効になっている必要があります。

    • ワークスペースでServerless コンピュートを有効にする必要があります。Serverless コンピュートの要件を参照してください。

    • 新しい接続を作成するには、メタストアに対する CREATE CONNECTION 特権が必要です。Unity Catalog での権限の管理を参照してください。

      コネクタが UI ベースのパイプライン オーサリングをサポートしている場合、管理者はこのページのステップを完了することで、接続とパイプラインを同時に作成できます。 ただし、パイプラインを作成するユーザーが API ベースのパイプライン オーサリングを使用している場合、または管理者以外のユーザーである場合、管理者はまずカタログ エクスプローラーで接続を作成する必要があります。 「管理対象取り込みソースへの接続」を参照してください。

    • 既存の接続を使用するには、接続オブジェクトに対して USE CONNECTION または ALL PRIVILEGES の権限が必要です。

    • ターゲットカタログに対する USE CATALOG 権限が必要です。

    • 既存のスキーマに対してUSE SCHEMAおよびCREATE TABLEの権限、またはターゲットカタログに対してCREATE SCHEMAの権限が必要です。

  • Xero から取り込むには、まず Databricks からの認証を構成し、接続を作成します。Xero への認証の構成と Xero 接続の作成を参照してください。

  • 取り込む Xero 組織のテナント ID をメモします。「テナント ID の検索」を参照してください。

コネクタオプション​

Xeroコネクタが受け入れるオプション、そのスコープ、およびそれらが適用されるテーブルについては、コネクタのオプションを参照してください。パイプラインスコープのオプションはsource_configurationsで設定します。すべてのパイプラインでtenant_idを設定する必要があります。使用方法については例を参照してください。

取り込みパイプラインを作成する​

サポートされているソーステーブルのリストについては、サポートされているソーステーブルを参照してください。

  1. Databricksワークスペースのサイドバーで、 データ取り込み をクリックします。
  2. データの追加 ページの Databricks コネクタ で、 Xero をクリックします。
  3. 取り込みウィザードの 接続 ページで、Xero資格情報を保存する接続を選択します。メタストアに対するCREATE CONNECTION権限がある場合は、 プラスアイコン。 接続の作成 をクリックして、Xeroに対する認証の設定の資格情報を使用して接続を作成します。
  4. 次へ をクリックします。
  5. ウィザードの インジェスト セットアップ ページで、パイプラインの名前を入力します。
  6. イベント Logs を書き込むカタログとスキーマを選択します。カタログに対する USE CATALOG および CREATE SCHEMA 権限がある場合は、ドロップダウンメニューの プラスアイコン。 スキーマの作成 をクリックしてスキーマを作成します。
  7. テナント ID には、取り込むXero組織のテナント ID を入力します。オプションで、 開始日時 を設定します。コネクターのオプションを参照してください。
  8. パイプラインの作成および続行 をクリックします。
  9. ソース ページで、取り込むテーブルを選択します。
  10. 保存して続行 をクリックします。
  11. 宛先 ページで、データをロードするカタログとスキーマを選択します。カタログに対する USE CATALOG および CREATE SCHEMA 権限がある場合は、ドロップダウンメニューの プラスアイコン。 スキーマの作成 をクリックしてスキーマを作成します。
  12. 保存して続行 をクリックします。
  13. (オプション) スケジュールと通知 ページで、 プラスアイコン。 スケジュールの作成 をクリックします。宛先テーブルを更新する頻度を設定します。
  14. (オプション) プラスアイコン。 通知の追加 をクリックして、パイプライン操作の成功または失敗に対するEメール通知を設定し、 保存してパイプラインを実行 をクリックします。

例​

Xero コネクタは、default ソーススキーマで 23 のソーステーブルを使用可能にします。取り込む各テーブルを指定し、tenant_id を取り込む組織に設定します。

特定のテーブルを取り込む​

このオプションを使用して、テーブルの特定のサブセットを取り込んだり、テーブルごとにターゲットの名前をカスタマイズしたりできます。

次のパイプライン定義ファイルは、個々の Xero テーブルを取り込みます:

YAML
resources:
pipelines:
xero_pipeline:
name: xero_pipeline
catalog: 'main'
target: 'xero_data'
ingestion_definition:
connection_name: xero_connection
source_configurations:
- api_source_connector_config:
configs:
tenant_id: '<tenant-id>'
objects:
- table:
source_schema: 'default'
source_table: 'invoices'
destination_catalog: 'main'
destination_schema: 'xero_data'
destination_table: 'invoices'
- table:
source_schema: 'default'
source_table: 'contacts'
destination_catalog: 'main'
destination_schema: 'xero_data'
destination_table: 'contacts'
- table:
source_schema: 'default'
source_table: 'payments'
destination_catalog: 'main'
destination_schema: 'xero_data'
destination_table: 'payments'

特定の起動日からの取り込み​

start_datetime オプションを使用して、増分テーブルが最初の同期でどこまで読み戻すかを制御します。

以下のパイプライン定義ファイルは、特定の開始日からXeroテーブルを取り込みます:

YAML
resources:
pipelines:
xero_pipeline:
name: xero_pipeline
catalog: 'main'
target: 'xero_data'
ingestion_definition:
connection_name: xero_connection
source_configurations:
- api_source_connector_config:
configs:
tenant_id: '<tenant-id>'
start_datetime: '<start-datetime>'
objects:
- table:
source_schema: 'default'
source_table: 'invoices'
destination_catalog: 'main'
destination_schema: 'xero_data'
destination_table: 'invoices'
- table:
source_schema: 'default'
source_table: 'contacts'
destination_catalog: 'main'
destination_schema: 'xero_data'
destination_table: 'contacts'
- table:
source_schema: 'default'
source_table: 'payments'
destination_catalog: 'main'
destination_schema: 'xero_data'
destination_table: 'payments'

宣言型オートメーションバンドルのジョブ定義ファイル​

以下は、Declarative Automation Bundlesで使用するジョブ定義ファイルの例です。ジョブは毎日実行されます。

YAML
resources:
jobs:
xero_job:
name: xero_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: xero_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.xero_pipeline.id}

一般的なパターン​

高度なパイプライン構成については、「管理されたインジェクションパイプラインの一般的なパターン」を参照してください。

次のステップ​

パイプラインの起動、スケジュール、アラート設定を行います。一般的なパイプラインのメンテナンス タスクを参照してください。

その他のリソース​