ライブデータソースに接続する
約 30 分 · 接続、取り込み済みのテーブル、スケジュールされた更新
他のチュートリアルは、アップロードした CSV から始まります。実際のデータは、データベース、ウェアハウス、SaaS アプリ、クラウドストレージなど、別の場所にあるのが普通です。古くなったエクスポートではなく、PlaidCloud にそのデータを直接読み取らせたいはずです。このチュートリアルでは、そうしたシステムの 1 つに接続し、そのデータをプロジェクトのテーブルに取り込み、結果をプレビューして、テーブルが自動的に最新の状態に保たれるよう更新を設定します。
行うことは 4 つです。接続を作成し、ワークフローのステップでデータを取り込み、プレビューして、更新をスケジュールします。それぞれが PlaidCloud の構成要素に対応しており、接続先が何であっても同じ流れで進められます。
作成するもの
Section titled “作成するもの”外部ソースから自動的にデータが入り、スケジュールに従って再読み取りされるプロジェクトのテーブルです。手動での再アップロードは不要です。
- PlaidCloud ワークスペース(お持ちでない場合は無料トライアルを開始してください)
- 作業用のプロジェクトと、その中のワークフロー(ワークフロータブから作成します。ワークフローを作成するを参照してください)
- 接続先のソースの認証情報(データベースのホストとログイン情報、API トークン、クラウドストレージのキーなど、そのシステムが使用するもの)
ステップ 1: コネクターを選ぶ
Section titled “ステップ 1: コネクターを選ぶ”PlaidCloud は、外部システムの種類ごとに専用のコネクターを通じて接続します。コネクターは、そのプロバイダーの認証とプロトコルを理解しています。使用するコネクターはコネクターのリファレンスで探してください。カテゴリは次のとおりです。
| カテゴリ | 例 |
|---|---|
| データベースとデータレイク | PostgreSQL、SQL Server、Snowflake、BigQuery、Databricks、Redshift、Iceberg、Delta Lake |
| REST / SaaS | Salesforce、NetSuite、Workday、QuickBooks、Stripe |
| ERP システム | SAP ECC、S/4HANA、Oracle EBS/Fusion、Infor |
| クラウド、Google、コラボレーション | クラウドサービス、Google Sheets/BigQuery、Slack、Microsoft Teams |
| Singerソース | 130 以上の tap ベースのソース(Stripe、GitHub、HubSpot など) |
| Git プロバイダー | GitHub、GitLab、Bitbucket、およびマネージドの PlaidCloud Git |
専用のコネクターがない場合は、汎用のものを使用してください。 専用の項目がないサービスには、汎用 REST 接続を使用すると、任意の HTTP API に接続できます。各コネクターに必要なフィールド名は、そのリファレンスページに記載されています。
このチュートリアルでは、最も少ない手順でエンドツーエンドにデータを取り込める Singerソースを具体例として取り上げます。データベースやクラウドストレージのコネクターでも、接続、インポートステップ、ターゲットテーブルという同じ 3 つの手順で進めます。異なるのは、そのシステム固有のフィールドだけです。
ステップ 2: 接続を作成する
Section titled “ステップ 2: 接続を作成する”接続は、エンドポイントと認証情報を一度だけ保持する保存済みの構成です。すべてのワークフローステップが名前でそれを再利用します。
- Tools > Connections を開きます。
- ツールバーの新規接続をクリックし、メニューからシステムを選択します。
- 接続フォームに入力します。タブは種類によって異なりますが、一般的には次の項目を設定します。
- 接続構成(REST の場合は接続の詳細)— 接続の名前、任意のメモ、ホスト / ポート / データベース(またはホスト / 認証タイプ)、使用方法のトグルをアクティブに設定、セキュリティモデル。
- 認証情報 — データベース接続の場合は認証情報グループ、REST 接続の場合は専用の認証タブ。
- SSL構成 / SSH構成 — ソースで必要な場合は、暗号化を有効にするか、踏み台ホストを経由してトンネルします。
- 作成をクリックします。接続が一覧に表示され、所有者はあなたになります。
セキュリティモデルは、他に誰がその接続を使用できるかを決定します。プライベート(所有者のみ)からすべてのワークスペースメンバーまでの範囲で設定できます。項目ごとの詳しい手順とアクセス権の付与方法は、接続の作成と管理を参照してください。
シークレットは書き込み専用です。 保存済みの接続を開き直すと、パスワードとトークンのフィールドは空白で表示されます。保存時に空白のままにすると、保存されている値が維持されます。変更する場合にだけ入力し直してください。
1 つの接続で複数の環境に対応できます。 1 つの接続に、環境ごとに異なる構成(開発用ホストと本番用ホストなど)を 1 つの名前で保持でき、ツールバーの環境セレクターで切り替えます。後で同じワークフローを環境間で反映する予定がある場合は、今のうちに設定しておいてください。
ステップ 3: 接続をテストする
Section titled “ステップ 3: 接続をテストする”構築を進める前に、PlaidCloud が実際にソースへ到達できることを確認します。
- 先に接続を保存してください。テストは、保存されていない編集内容ではなく、保存済みの構成に対して実行されます。
- SSH を使用するデータベース接続では、SSH構成タブにトンネルのテストがあります。
- 汎用 REST 接続にはテストタブがあり、保存済みの接続を通じてアドホックなリクエストを送信できます。
テストが失敗した場合、通常の原因は、ホストまたはポートの誤り、PlaidCloud のエグレスを許可していないファイアウォール、入力し直しが必要な認証情報のいずれかです(シークレットは読み戻すと空白になることに注意してください)。
ステップ 4: データをテーブルに取り込む
Section titled “ステップ 4: データをテーブルに取り込む”データは、接続を参照してターゲットテーブルに書き込むワークフローのインポートステップを通じてプロジェクトに入ります。ビューはインポートのターゲットにできません。物理的な行を保持するのはテーブルです。
Singerソースを例に説明します。
- ワークフローをダブルクリックして、Workflow Explorer で開きます。
- ステップを追加し、Import: Singer Source を選択します。エディターが開き、ソースタブとストリームタブが表示されます。
- ソースタブで、接続を選択し、同期モードを選択して(ステップ 6 で説明します)、ストリームを検出をクリックします。検出はバックグラウンドの実行エンジンで行われ、初回は最大で 3 分ほどかかることがあります。
- ストリームタブで、取り込みたいストリームを開き、このストリームをインポートにチェックを入れて、行の取り込み先となるテーブルをターゲットテーブルに設定します。
- ステップを保存して実行します。行がターゲットテーブルに取り込まれます。
ステップが保存するのは接続への参照であり、認証情報のコピーではありません。 実行のたびに、その時点の接続の認証情報が読み取られます。そのため、トークンをローテーションするときは、接続で一度更新するだけで、すべてのステップが次回の実行で新しいトークンを使用します。
データベースやクラウドストレージのコネクターでは、インポートステップは異なりますが、流れは同じです。接続を指定し、ターゲットテーブルに名前を付け、実行します。各コネクターが使用する具体的なステップはコネクターのリファレンスからリンクされており、ステップの作成と実行についてはワークフローガイドで説明しています。
ステップ 5: 取り込んだデータをプレビューする
Section titled “ステップ 5: 取り込んだデータをプレビューする”PlaidCloud でテーブルまたはビューが表示される場所ならどこでも、それをクリックするとテーブルエクスプローラーが開きます。そのため、インポートの確認はテーブルタブからワンクリックで行えます。
- グリッドビューには行が表示されます(デフォルトの上限は 5,000 行)。先頭 / ランダムセレクターで、表示する行を制御できます。ランダムに切り替えると、先頭の行だけでなく、大きなテーブル全体の品質をスポットチェックできます。
- 詳細ビューには、列ごとの概要が表示されます。一意の値の数と、数値列の最小 / 最大 / 平均 / 合計などの統計です。
- 列が誤ったタイプで取り込まれた場合は、ここではなく、ワークフローステップの列マッパーで修正します。
行数といくつかのサンプル値が、ソースから想定されるものと一致することを確認してください。一致していれば、接続とインポートは正しく動作しています。
ステップ 6: 更新されるように設定する
Section titled “ステップ 6: 更新されるように設定する”一度きりのインポートは、スナップショットにすぎません。テーブルを最新の状態に保つには、各実行で新しいデータをどのように反映するかを選択し、その実行をスケジュールします。
各実行での反映方法 — インポートステップで設定します。Singerソースの同期モードは次のとおりです。
| 同期モード | 各実行での動作 | 使用する場合 |
|---|---|---|
| テーブル全体(実行のたびに置換) | すべてを再抽出し、ターゲットを置き換える | 小規模なソース、または全体を更新するソース |
| 増分(新しいデータを追加) | 前回の実行以降に追加された行だけを抽出し、追加する | レプリケーションキー(更新日時や増分する ID)を持つソース |
| アップサート(キーでマージ) | ストリームを再抽出し、キー列でマージする。一致する行は更新し、新しいキーは挿入し、残りは保持する | 既存のレコードが変更され、キーごとに 1 行にしたいソース |
他のコネクターにもそれぞれ同等のものがありますが、置換、追加、マージという考え方は同じです。
実行のタイミング — ワークフローをスケジュールして、自動的に再実行されるようにします。スケジュール済みイベントで定期的な実行を設定すると、以降は手動の操作なしに、そのサイクルでテーブルが更新されます。すぐに更新したい場合は、いつでも手動でワークフローを実行することもできます。
常に値が存在するキー列を選んでください(アップサート)。 アップサートは完全に一致するキー値で行を照合し、NULL のキーは一致しません。キーが NULL の行は実行のたびに挿入され、蓄積されます。ソースが必ず値を入力する列を使用してください。
任意: テーブルを公開する
Section titled “任意: テーブルを公開する”ダッシュボード、PlaidXL、外部の BI ツールがこのテーブルを使用する場合は、中間テーブルと区別できるように、公開用のレポート名を付けます。テーブルタブでテーブルを右クリックし、Set Published Table Reporting Name を選択します。テーブルの公開を参照してください。下流のツールに渡るのは、公開された名前だけです。
次のステップ
Section titled “次のステップ”- 接続ガイド — 接続の作成、テスト、クローン、アクセス制御
- Singerソース — このチュートリアルで使用した tap ベースのソースの詳細
- コネクターのリファレンス — サポートされているすべてのシステムと、必要なフィールド
- テーブルエクスプローラーとテーブルとビュー — 取り込まれた内容の確認と理解
- スケジュール済みイベント — 定期的なスケジュールで更新を実行する
- データの読み込み、変換、公開 — 取り込んだテーブルをクリーンアップして整形する
- 配賦モデルを作成する — 接続したデータをモデルで活用する