TiDB Cloud をZapier と統合する

ザピエールは、何千ものアプリやサービスが関与するワークフローを簡単に作成できるコード不要の自動化ツールです。

Zapier のTiDB Cloudアプリ使用すると、次のことが可能になります。

  • MySQL 互換の HTAP データベースである TiDB を使用します。ローカルで構築する必要はありません。
  • TiDB Cloud の管理が簡単になります。
  • TiDB Cloudを 5000 以上のアプリに接続し、ワークフローを自動化します。

このガイドでは、Zapier 上のTiDB Cloudアプリの概要と、その使用方法の例を示します。

テンプレートを使ったクイックスタート

Zap テンプレート公開されている Zapier 統合用に、アプリとコア フィールドが事前に選択された、すぐに使用できる統合または Zap です。

このセクションでは、ワークフローを作成する例として、「新しい Github グローバル イベントを TiDB 行に追加する」テンプレートを使用します。このワークフローでは、GitHub アカウントから新しいグローバル イベント (任意のリポジトリで、自分からまたは自分に対してGitHub イベント発生するイベント) が作成されるたびに、Zapier によってTiDB Cloudクラスターに新しい行が追加されます。

前提条件

始める前に、次のものが必要です。

ステップ1: テンプレートを取得する

Zapier のTiDB Cloudアプリに進みます。「新しい Github グローバル イベントを TiDB 行に追加する」テンプレートを選択し、 「試してみる」をクリックします。すると、エディター ページが表示されます。

ステップ2: トリガーを設定する

エディターページでトリガーとアクションを確認できます。トリガーをクリックして設定します。

  1. アプリとイベントを選択

    テンプレートではアプリとイベントがデフォルトで設定されているため、ここでは何もする必要はありません。 [続行]をクリックします。

  2. アカウントを選択

    TiDB Cloudに接続する GitHub アカウントを選択します。新しいアカウントを接続するか、既存のアカウントを選択できます。設定したら、 「続行」をクリックします。

  3. トリガーを設定する

    テンプレートではデフォルトでトリガーが設定されています。 [続行]をクリックします。

  4. テストトリガー

    「トリガーのテスト」をクリックします。トリガーが正常に設定されていれば、GitHub アカウントからの新しいグローバル イベントのデータを確認できます。 「続行」をクリックします。

ステップ3: Find Table in TiDB Cloudを設定する

  1. アプリとイベントを選択

    テンプレートで設定されたデフォルト値Find Tableそのままにし、 [続行]をクリックします。

  2. アカウントを選択

    1. サインイン」ボタンをクリックすると、新しいログインページにリダイレクトされます。
    2. ログインページで、公開鍵と秘密鍵を入力します。TiDB TiDB Cloud API キーを取得するには、 TiDB CloudAPI ドキュメントの手順に従ってください。
    3. 「続行」をクリックします。

    Account

  3. アクションの設定

    この手順では、イベント データを保存するために、 TiDB Cloudクラスター内のテーブルを指定する必要があります。テーブルがまだない場合は、この手順で作成できます。

    1. ドロップダウンリストからプロジェクト名とクラスター名を選択します。クラスターの接続情報が自動的に表示されます。

      Set up project name and cluster name

    2. パスワードを入力してください。

    3. ドロップダウンリストからデータベースを選択します。

      Set up database name

      Zapier は、入力したパスワードを使用してTiDB Cloudからデータベースを照会します。クラスター内にデータベースが見つからない場合は、パスワードを再入力してページを更新してください。

    4. 検索するテーブルボックスにgithub_global_eventを入力します。テーブルが存在しない場合は、テンプレートは次の DDL を使用してテーブルを作成します。 [続行]をクリックします。

      The create table DDL

  4. テストアクション

    「テストアクション」をクリックすると、Zapier がテーブルを作成します。テストをスキップして、このワークフローが初めて実行されるときにテーブルを作成することもできます。

ステップ4: Create Row in TiDB Cloudを設定する

  1. アプリとイベントを選択

    テンプレートによって設定されたデフォルト値をそのままにし、 「続行」をクリックします。

  2. アカウントを選択

    Find Table in TiDB Cloudアクションの設定時に選択したアカウントを選択します。 [続行]をクリックします。

    Choose account

  3. アクションの設定

    1. 前の手順と同様に、プロジェクト名クラスタ名TiDB パスワードデータベース名を入力します。

    2. テーブル名で、ドロップダウン リストからgithub_global_eventテーブルを選択します。テーブルの列が表示されます。

      Table columns

    3. 「列」ボックスで、トリガーから対応するデータを選択します。すべての列に入力し、 「続行」をクリックします。

      Fill in Columns

  4. テストアクション

    「テストアクション」をクリックして、テーブルに新しい行を作成します。TiDB TiDB Cloudクラスターを確認すると、データが正常に書き込まれていることがわかります。

    mysql> SELECT * FROM test.github_global_event; +-------------+-------------+------------+-----------------+----------------------------------------------+--------+---------------------+ | id | type | actor | repo_name | repo_url | public | created_at | +-------------+-------------+------------+-----------------+----------------------------------------------+--------+---------------------+ | 25324462424 | CreateEvent | shiyuhang0 | shiyuhang0/docs | https://api.github.com/repos/shiyuhang0/docs | True | 2022-11-18 08:03:14 | +-------------+-------------+------------+-----------------+----------------------------------------------+--------+---------------------+ 1 row in set (0.17 sec)

ステップ5: Zapを公開する

「公開」をクリックして、zap を公開しますホームページで zap が実行されているのがわかります。

Publish the zap

これで、この zap は GitHub アカウントからのすべてのグローバル イベントをTiDB Cloudに自動的に記録します。

トリガーとアクション

トリガーとアクションは Zapier の重要な概念です。さまざまなトリガーとアクションを組み合わせることで、さまざまな自動化ワークフローを作成できます。

このセクションでは、Zapier 上のTiDB Cloud App が提供するトリガーとアクションについて説明します。

トリガー

次の表は、 TiDB Cloud App でサポートされているトリガーを示しています。

トリガー説明
新しいクラスタ新しいクラスターが作成された場合にトリガーされます。
新しいテーブル新しいテーブルが作成された時にトリガーされます。
新しい行新しい行が作成された場合にトリガーされます。最近の 10000 行のみを取得します。
新しい行 (カスタム クエリ)指定したカスタム クエリから新しい行が返されたときにトリガーされます。

アクション

次の表は、 TiDB Cloud App でサポートされているアクションの一覧です。一部のアクションには追加のリソースが必要なため、アクションを使用する前に対応するリソースを準備する必要があることに注意してください。

アクション説明リソース
クラスタを見つける既存のTiDB Cloud Serverless またはTiDB Cloud Dedicated クラスターを検索します。なし
クラスタの作成新しいクラスターを作成します。TiDB TiDB Cloud Serverless クラスターの作成のみをサポートします。なし
データベースを検索既存のデータベースを検索します。TiDB Cloudサーバーレスクラスター
データベースの作成新しいデータベースを作成します。TiDB Cloudサーバーレスクラスター
テーブルを探す既存のテーブルを検索します。TiDB Cloud Serverless クラスターとデータベース
テーブルを作成新しいテーブルを作成します。TiDB Cloud Serverless クラスターとデータベース
行を作成新しい行を作成します。TiDB Cloud Serverless クラスター、データベース、テーブル
行を更新既存の行を更新します。TiDB Cloud Serverless クラスター、データベース、テーブル
行を検索ルックアップ列を使用してテーブル内の行を検索します。TiDB Cloud Serverless クラスター、データベース、テーブル
行の検索 (カスタム クエリ)指定したカスタム クエリを使用してテーブル内の行を検索します。TiDB Cloud Serverless クラスター、データベース、テーブル

TiDB Cloudアプリ テンプレート

TiDB Cloud は、 Zapier で直接使用できるテンプレートをいくつか提供しています。すべてのテンプレートはTiDB Cloudアプリページで見つかります。

以下にいくつか例を挙げます。

FAQ

Zapier でTiDB Cloudアカウントを設定するにはどうすればよいですか?

Zapier では、 TiDB Cloudアカウントに接続するためにTiDB Cloud API キーが必要です。Zapier では、 TiDB Cloudのログイン アカウントは必要ありません。

TiDB Cloud API キーを取得するには、 TiDB CloudAPI ドキュメントに従ってください。

TiDB Cloudトリガーは重複排除をどのように実行しますか?

Zapier トリガーはポーリング API 呼び出しと連携して、定期的に新しいデータをチェックできます (間隔は Zapier プランによって異なります)。

TiDB Cloudトリガーは、多くの結果を返すポーリング API 呼び出しを提供します。ただし、結果のほとんどは Zapier で以前に確認されたものであり、つまり、結果のほとんどは重複しています。

API 内の項目が複数の異なるポーリングに存在する場合にアクションを複数回トリガーしたくないため、 TiDB Cloud はidフィールドを使用してデータの重複を排除します。

New ClusterおよびNew Tableトリガーは、重複排除を実行するために、単にcluster_idまたはtable_id idフィールドとして使用します。2 つのトリガーに対しては何もする必要はありません。

新しい行トリガー

New Rowトリガーは、フェッチごとに 10,000 件の結果を制限します。したがって、10,000 件の結果に含まれていない新しい行がある場合、Zapier をトリガーできません。

これを回避する 1 つの方法は、トリガーでOrder By構成を指定することです。たとえば、行を作成時刻で並べ替えると、新しい行は常に 10,000 件の結果に含まれます。

New Rowトリガーは、重複排除を行うためにidフィールドを生成するためにも柔軟な戦略を使用します。トリガーは、次の順序でidフィールドを生成します。

  1. 結果にid列目が含まれる場合は、 id列目を使用します。
  2. トリガー構成でDedupe Key指定する場合は、 Dedupe Key使用します。
  3. テーブルに主キーがある場合は、主キーを使用します。主キーが複数ある場合は、最初の列を使用します。
  4. テーブルに一意のキーがある場合は、その一意のキーを使用します。
  5. 表の最初の列を使用します。

新しい行(カスタムクエリ)トリガー

New Row (Custom Query)トリガーは、フェッチごとに 1,000,000 件の結果を制限します。1,000,000 は大きな数であり、システム全体を保護するためにのみ設定されます。クエリにはORDER BYLIMIT含めることをお勧めします。

重複排除を実行するには、クエリ結果に一意の ID フィールドが必要です。そうでない場合は、エラーYou must return the results with id fieldが発生します。

カスタム クエリが 30 秒以内に実行されることを確認してください。そうでない場合、タイムアウト エラーが発生します。

find or createアクションを使用するにはどうすればよいですか?

Find or createアクションを使用すると、リソースが存在しない場合にリソースを作成できます。次に例を示します。

  1. Find Tableアクションを選択

  2. set up actionステップで、 Create TiDB Cloud Table if it doesn’t exist yet?ボックスにチェックを入れてfind and create有効にします。

    Find and create

このワークフローは、テーブルがまだ存在しない場合にテーブルを作成します。アクションをテストすると、テーブルが直接作成されることに注意してください。

このページは役に立ちましたか?