エンドポイントの管理
Data Service (ベータ版) のエンドポイントは、SQL ステートメントを実行するようにカスタマイズできる Web API です。SQL ステートメントのパラメーター(例えば、 WHERE句で使用される値など)を指定できます。クライアントがエンドポイントを呼び出し、リクエスト URL でパラメーターの値を指定すると、エンドポイントは指定されたパラメーターを使用して SQL ステートメントを実行し、結果を HTTP レスポンスの一部として返します。
このドキュメントでは、TiDB Cloudコンソールでデータアプリのエンドポイントを管理する方法について説明します。
始める前に
エンドポイントを作成する前に、以下の点を確認してください。
- TiDB Cloud Starterインスタンスとデータ アプリが作成されました。詳細については、 データアプリを作成する参照してください。
- エンドポイントが操作するデータベース、テーブル、および列は、既にターゲットのTiDB Cloud Starterインスタンスに存在しています。
エンドポイントを呼び出す前に、データ アプリで API キーを作成していることを確認してください。詳細については、 APIキーを作成する参照してください。
エンドポイントを作成する
データサービスでは、エンドポイントを自動生成したり、手動で作成したり、定義済みのシステムエンドポイントを追加したりできます。
ヒント:
SQL エディターで SQL ファイルからエンドポイントを作成することもできます。詳細については、 SQLファイルからエンドポイントを生成する参照してください。
エンドポイントを自動的に生成する
TiDB Cloud Data Serviceでは、以下のようにして1つまたは複数のエンドポイントを一度に自動的に生成できます。
プロジェクトのデータサービスページに移動します。
左側のペインで、対象のデータアプリを見つけ、アプリ名の右側にある「+」をクリックし、 「エンドポイントの自動生成」をクリックします。エンドポイント生成ダイアログが表示されます。
ダイアログで、以下の操作を行ってください。
エンドポイントを生成する対象となるTiDB Cloud Starterインスタンス、データベース、およびテーブルを選択してください。
注記:
テーブルドロップダウンリストには、システムテーブルおよび列定義のないテーブルを除き、少なくとも1つの列を持つユーザー定義テーブルのみが表示されます。
生成するエンドポイントに対して、少なくとも1つのHTTP操作(
GET (Retrieve)、POST (Create)、PUT (Update)など)を選択してください。TiDB Cloud Data Serviceは、選択した操作ごとに対応するエンドポイントを生成します。バッチ操作(例
POST (Batch Create))を選択した場合、生成されたエンドポイントを使用すると、単一のリクエストで複数の行を操作できます。選択したテーブルに ベクトルデータ型が含まれている場合は、「ベクトル検索操作」オプションを有効にし、ベクトル距離関数を選択して、選択した距離関数に基づいてベクトル距離を自動的に計算するベクトル検索エンドポイントを生成できます。サポートされているベクトル距離関数は次のものが含まれます。
VEC_L2_DISTANCE(デフォルト): 2 つのベクトル間の L2 距離 (ユークリッド距離) を計算します。VEC_COSINE_DISTANCE: 2 つのベクトル間のコサイン距離を計算します。VEC_NEGATIVE_INNER_PRODUCT: 2 つのベクトルの内積の負の値を使用して距離を計算します。VEC_L1_DISTANCE: 2 つのベクトル間の L1 距離 (マンハッタン距離) を計算します。
(オプション)操作のタイムアウトとタグを設定します。生成されたすべてのエンドポイントは、設定されたプロパティを自動的に継承しますが、必要に応じて後で変更できます。
(オプション)「エンドポイントの自動デプロイ」オプション(デフォルトでは無効)は、生成されたエンドポイントを直接デプロイするかどうかを制御します。このオプションを有効にすると、ドラフトレビュープロセスがスキップされ、生成されたエンドポイントは、追加の手動レビューや承認なしに即座にデプロイされます。
「生成」をクリックしてください。
生成されたエンドポイントは、エンドポイントリストの一番上に表示されます。
生成されたエンドポイント名、SQLステートメント、プロパティ、および新しいエンドポイントのパラメータを確認してください。
エンドポイント名: 生成されるエンドポイント名は
/<name of the selected table>の形式で、リクエストメソッド (GET、POST、PUTなど) がエンドポイント名の前に表示されます。たとえば、選択されたテーブル名がsample_tableで、選択された操作がPOST (Create)の場合、生成されたエンドポイントはPOST /sample_tableと表示されます。- バッチ操作を選択した場合、 TiDB Cloud Data Service は生成されるエンドポイント名に
/bulkを追加します。たとえば、選択されたテーブル名が/sample_tableで、選択された操作がPOST (Batch Create)の場合、生成されるエンドポイントはPOST /sample_table/bulkと表示されます。 POST (Vector Similarity Search)が選択された場合、 TiDB Cloud Data Service は生成されるエンドポイント名に/vector_searchを追加します。たとえば、選択されたテーブル名が/sample_tableで、選択された操作がPOST (Vector Similarity Search)の場合、生成されたエンドポイントはPOST /sample_table/vector_searchと表示されます。- 既に同じリクエスト メソッドとエンドポイント名を持つエンドポイントが存在する場合、 TiDB Cloud Data Service は生成されたエンドポイント名に
_dump_<random letters>を追加します。たとえば、/sample_table_dump_EUKRflとなります。
- バッチ操作を選択した場合、 TiDB Cloud Data Service は生成されるエンドポイント名に
SQLステートメント: TiDB Cloud Data Serviceは、テーブルの列仕様と選択されたエンドポイント操作に基づいて、生成されたエンドポイント用のSQLステートメントを自動的に作成します。エンドポイント名をクリックすると、ページの中央部分に表示されるSQLステートメントを確認できます。
エンドポイントのプロパティ: TiDB Cloud Data Serviceは、選択内容に応じてエンドポイントパス、リクエストメソッド、タイムアウト、タグを自動的に構成します。これらのプロパティは、ページの右側のペインに表示されます。
エンドポイントパラメータ: TiDB Cloud Data Serviceは、生成されたエンドポイントのパラメータを自動的に構成します。パラメータは、ページの右側のペインに表示されます。
生成されたエンドポイントの名前、SQL ステートメント、プロパティ、パラメーターなどの詳細を変更する場合はエンドポイントを開発するに記載されている手順を参照してください。
エンドポイントを手動で作成する
エンドポイントを手動で作成するには、以下の手順を実行してください。
- プロジェクトのデータサービスページに移動します。
- 左側のペインで、対象のデータ アプリを見つけ、アプリ名の右側にある+ をクリックし、次に[エンドポイントの作成] をクリックします。
- 必要に応じてデフォルト名を更新してください。新しく作成されたエンドポイントは、エンドポイントリストの一番上に追加されます。
- エンドポイントを開発する」の指示に従って、新しいエンドポイントを構成します。
定義済みのシステムエンドポイントを追加します
データサービスでは、データアプリに直接追加できる事前定義済みのシステムエンドポイントを含むエンドポイントライブラリが提供されており、エンドポイント開発の手間を軽減できます。現在、このライブラリには/system/queryエンドポイントのみが含まれており、事前定義済みのsqlパラメータにSQLステートメントを渡すだけで、任意のSQLステートメントを実行できます。
データアプリに定義済みのシステムエンドポイントを追加するには、次の手順を実行します。
プロジェクトのデータサービスページに移動します。
左側のペインで、対象のデータ アプリを見つけ、アプリ名の右側にある「+」をクリックし、次に「エンドポイント ライブラリの管理」をクリックします。
エンドポイントライブラリ管理のダイアログが表示されます。現在、このダイアログには「クエリの実行」 (つまり、
/system/queryエンドポイント)のみが表示されます。/system/queryエンドポイントをデータアプリに追加するには、[**クエリの実行]スイッチを[追加済み]**に切り替えます。ヒント:
データ アプリから追加済みの定義済みエンドポイントを削除するには、 [クエリの実行]スイッチを[削除済み]に切り替えます。
「保存」をクリックしてください。
注記:
- 「保存」をクリックすると、追加または削除されたエンドポイントが即座に本番にデプロイされ、追加されたエンドポイントはすぐにアクセス可能になり、削除されたエンドポイントはすぐにアクセス不可能になります。
- 現在のアプリ内に、同じパスとメソッドを持つ定義されていないエンドポイントが既に存在する場合、システムエンドポイントの作成は失敗します。
追加されたシステム提供のエンドポイントは、エンドポイントリストの一番上に表示されます。
新しいエンドポイントのエンドポイント名、SQLステートメント、プロパティ、およびパラメータを確認してください。
注記:
/system/queryエンドポイントは強力で汎用性が高い反面、潜在的に破壊的な影響を及ぼす可能性があります。慎重に使用し、意図しない結果を防ぐために、クエリが安全かつ十分に検討されていることを確認してください。- エンドポイント名: エンドポイント名とパスは
/system/queryで、リクエストメソッドはPOSTです。 - SQL ステートメント:
/system/queryエンドポイントには、SQL ステートメントは含まれていません。ページの中央部分に SQL エディタがありますので、そこに必要な SQL ステートメントを記述してください。/system/queryエンドポイント用に SQL エディタに記述した SQL ステートメントは、次回以降に開発やテストを行うために SQL エディタに保存されますが、エンドポイント構成には保存されないことに注意してください。 - エンドポイントのプロパティ:ページの右側のペインにある「プロパティ」タブで、エンドポイントのプロパティを確認できます。他のカスタムエンドポイントとは異なり、システムエンドポイントでは、
timeoutとmax rowsプロパティのみをカスタマイズできます。 - エンドポイントパラメータ:ページの右側のペインにある「パラメータ」タブでエンドポイントパラメータを確認できます。
/system/queryエンドポイントのパラメータは自動的に設定され、変更することはできません。
- エンドポイント名: エンドポイント名とパスは
エンドポイントを開発する
各エンドポイントに対して、 TiDB Cloud Starterインスタンス上で実行するSQLステートメントを記述したり、SQLステートメントのパラメータを定義したり、名前やバージョンを管理したりできます。
注記:
データアプリをGitHubに接続し、自動同期とデプロイを有効にしている場合は、GitHubを使用してエンドポイント構成を更新することもできます。GitHubで行った変更はすべて、 TiDB Cloud Data Serviceに自動的にデプロイされます。詳細については、 GitHubで自動的にデプロイを参照してください。
プロパティを構成する
エンドポイントの詳細ページの右側のペインで、 「プロパティ」タブをクリックすると、エンドポイントのプロパティを表示および設定できます。
基本特性
パス:ユーザーがエンドポイントにアクセスするために使用するパス。
パスの長さは64文字未満でなければなりません。
リクエストメソッドとパスの組み合わせは、データアプリ内で一意である必要があります。
パスには、文字、数字、アンダースコア (
_)、スラッシュ (/)、および中括弧で囲まれたパラメーター ({var}など) のみが許可されます。各パスはスラッシュ (/) で始まり、文字、数字、またはアンダースコア (_) で終わる必要があります。例:/my_endpoint/get_id。{ }で囲まれたパラメータには、文字、数字、アンダースコア (_) のみが許可されます。{ }で囲まれた各パラメータは、文字またはアンダースコア (_) で始まる必要があります。
注記:
パスでは、各パラメータは別々のレベルに配置する必要があり、接頭辞や接尾辞はサポートされていません。
有効なパス:
/var/{var}および/{var}無効なパス:
/var{var}および/{var}var同じメソッドとプレフィックスを持つパスは、次の例のように競合する可能性があります。
GET /var/{var1}GET /var/{var2}GET /var/123両方に一致するため、これら 2 つのパスは互いに競合します。パラメータを含むパスは、パラメータを含まないパスよりも優先度が低くなります。例:
GET /var/{var1}GET /var/123GET /var/123が優先されるため、これら 2 つのパスは競合しません。パス パラメーターは SQL で直接使用できます。詳細については、パラメータを設定する参照してください。
エンドポイント URL : (読み取り専用) デフォルト URL は、対応するTiDB Cloud Starterインスタンスが配置されているリージョン、データ アプリのサービス URL、およびエンドポイントのパスに基づいて自動的に生成されます。たとえば、エンドポイントのパスが
/my_endpoint/get_idの場合、エンドポイント URL はhttps://<region>.data.tidbcloud.com/api/v1beta/app/<App ID>/endpoint/my_endpoint/get_idです。データ アプリのカスタム ドメインを構成するには、 データサービスのカスタムドメイン参照してください。リクエストメソッド:エンドポイントのHTTPメソッド。以下のメソッドがサポートされています。
GET:SELECTステートメントなどのデータを照会または取得するには、このメソッドを使用します。POST: このメソッドを使用して、INSERTステートメントなどのデータを挿入または作成します。PUT:UPDATEステートメントなどのデータを更新または変更するには、このメソッドを使用します。DELETE:DELETEステートメントなどのデータを削除するには、このメソッドを使用します。
説明(任意):エンドポイントの説明。
高度なプロパティ
タイムアウト(ms) :エンドポイントのタイムアウト時間(ミリ秒単位)。
最大行数:エンドポイントが操作または返すことができる最大行数。
タグ:エンドポイントのグループを識別するために使用されるタグ。
ページネーション:このプロパティは、リクエストメソッドが
GETで、エンドポイントの最後の SQL ステートメントがSELECT操作の場合にのみ使用できます。ページネーションが有効になっている場合、エンドポイントを呼び出す際にクエリ パラメータとしてpageとpage_size指定することで、結果をページネーションできます(例https://<region>.data.tidbcloud.com/api/v1beta/app/<App ID>/endpoint/my_endpoint/get_id?page=<Page Number>&page_size=<Page Size>。詳細については、エンドポイントを呼び出す参照してください。注記:
- リクエストに
pageおよびpage_sizeパラメータを含めない場合、デフォルトの動作では、 Max Rowsプロパティで指定された最大行数が 1 ページに返されます。 page_sizeはMax Rowsプロパティ以下でなければなりません。そうでない場合はエラーが返されます。
- リクエストに
キャッシュレスポンス:このプロパティは、リクエストメソッドが
GETの場合にのみ使用できます。キャッシュレスポンスが有効になっている場合、 TiDB Cloud Data Service はGETによって返されたレスポンスを、指定された有効期限 (TTL) 期間内にキャッシュできます。有効期限(Time-to-live) :このプロパティは、キャッシュレスポンスが有効になっている場合にのみ使用できます。これを使用して、キャッシュされたレスポンスの有効期限(TTL)を秒単位で指定できます。TTL期間中に同じ
GETリクエストを再度行うと、データサービスはターゲットデータベースからデータを再度取得する代わりに、キャッシュされたレスポンスを直接返します。これにより、クエリのパフォーマンスが向上します。バッチ操作: このプロパティは、リクエストメソッドが
POSTまたはPUTの場合にのみ表示されます。バッチ操作が有効になっている場合、単一のリクエストで複数の行を操作できます。たとえば、curl コマンドのPOSTオプションのオブジェクトのitemsフィールドにデータ オブジェクトの配列を配置することで、単一--data-rawリクエストで複数の行のデータエンドポイントを呼び出す。.注記:
バッチ操作が有効になっているエンドポイントは、リクエスト本文に配列形式とオブジェクト形式の両方をサポートしています。
[{dataObject1}, {dataObject2}]と{items: [{dataObject1}, {dataObject2}]}です。他のシステムとの互換性を高めるため、オブジェクト形式{items: [{dataObject1}, {dataObject2}]}使用することをお勧めします。
SQL文を書く
エンドポイント詳細ページのSQLエディタでは、エンドポイントのSQLステートメントを記述して実行できます。また、 --に続けて指示を入力するだけで、AIがSQLステートメントを自動的に生成することもできます。
TiDB Cloud Starterインスタンスを選択してください。
注記:
データ アプリにリンクされているTiDB Cloud Starterインスタンスのみがドロップダウン リストに表示されます。リンクされたTiDB Cloud Starterインスタンスを管理するには、 リンクされたデータソースを管理する参照してください。
SQLエディタの上部にあるドロップダウンリストから、SQLステートメントを実行するTiDB Cloud Starterインスタンスを選択します。すると、右側のペインにある「スキーマ」タブで、そのTiDB Cloud Starterインスタンスのすべてのデータベースを表示できます。
エンドポイントの種類に応じて、以下のいずれかの方法でデータベースを選択してください。
- 事前定義されたシステムエンドポイント:SQLエディタの上部にあるドロップダウンリストから、対象のデータベースを選択します。
- その他のエンドポイント: SQL エディタで対象データベースを指定する SQL ステートメントを記述します。例:
USE database_name;。
SQL文を記述してください。
SQLエディタでは、テーブル結合クエリ、複雑なクエリ、集計関数などのステートメントを記述できます。また、
--と入力して指示を続けるだけで、AIがSQLステートメントを自動的に生成することもできます。パラメータを定義するには、SQL ステートメントに
${ID}のような変数プレースホルダーとして挿入します。例:SELECT * FROM table_name WHERE id = ${ID}。その後、右側のペインの[パラメータ]タブをクリックして、パラメータの定義とテスト値を変更します。詳細については、パラメータ参照してください。配列パラメータを定義すると、SQL ステートメントではパラメータは自動的に複数のカンマ区切り値に変換されます。SQL ステートメントが有効であることを確認するには、一部の SQL ステートメント (
()など) でパラメータを括弧 (IN) で囲む必要があります。たとえば、テスト値ID1,2,3を定義した場合は、SELECT * FROM table_name WHERE id IN (${ID})を使用してデータをクエリします。注記:
- パラメータ名は大文字と小文字を区別します。
- このパラメータは、テーブル名または列名として使用することはできません。
SQL文を実行します。
SQL文にパラメータを挿入している場合は、右側のペインにある「パラメータ」タブで、パラメータにテスト値またはデフォルト値が設定されていることを確認してください。設定されていない場合、エラーが返されます。
macOSの場合:
エディタにステートメントが1つしかない場合は、それを実行するには、 ⌘ + Enterを押すか、クリックします。 走る。
エディタに複数のステートメントがある場合、それらのステートメントを1つまたは複数順番に実行するには、カーソルを対象のステートメントの上に置くか、カーソルで対象のステートメントの行を選択し、 ⌘ + Enterキーを押すか、 [実行]をクリックします。
エディタ内のすべてのステートメントを順番に実行するには、 ⇧ + ⌘ + Enterキーを押すか、カーソルですべてのステートメントの行を選択して[実行]をクリックします。
WindowsまたはLinuxの場合:
エディタにステートメントが 1 つしかない場合は、それを実行するには、 Ctrl + Enterキーを押すか、クリックします。 走る。
エディタに複数のステートメントがある場合、それらのステートメントを1つまたは複数順番に実行するには、カーソルを対象のステートメントの上に置くか、カーソルで対象のステートメントの行を選択し、 Ctrl + Enterキーを押すか、 [実行]をクリックします。
エディタ内のすべてのステートメントを順番に実行するには、 Shift + Ctrl + Enterキーを押すか、カーソルですべてのステートメントの行を選択して[実行]をクリックします。
ステートメントを実行すると、ページ下部の「結果」タブにクエリ結果がすぐに表示されます。
注記:
返される結果のサイズ制限は8MiBです。
パラメータを設定する
エンドポイントの詳細ページの右側のペインで、 「パラメータ」タブをクリックすると、エンドポイントで使用されているパラメータを表示および管理できます。
定義セクションでは、パラメーターの以下のプロパティを表示および管理できます。
パラメータ名: 名前には文字、数字、アンダースコアのみを含めることができ (
_)、文字またはアンダースコアで始まる必要があります (_)。pageおよびpage_sizeはリクエスト結果のページネーション用に予約されているため、パラメータ名として使用しないでください。必須:リクエストにおいてパラメータが必須かどうかを指定します。パスパラメータの場合、設定は必須であり、変更できません。その他のパラメータの場合、デフォルト設定は必須ではありません。
型: パラメーターのデータ型を指定します。パスパラメーターの場合、
STRINGとINTEGERのみがサポートされます。その他のパラメーターの場合、STRING、NUMBER、INTEGER、BOOLEAN、およびARRAYがサポートされます。STRING型のパラメーターを使用する場合、引用符 ('または") を追加する必要はありません。たとえば、fooSTRING型に対して有効であり、"foo"として処理されますが、"foo"は"\"foo\""として処理されます。列挙値: (オプション) パラメーターの有効な値を指定します。パラメーターのタイプが
STRING、INTEGER、またはNUMBERの場合にのみ使用できます。- このフィールドを空欄にした場合、パラメータには指定された型の任意の値を指定できます。
- 複数の有効な値を指定するには、カンマで区切ります (
,)。たとえば、パラメータータイプをSTRINGに設定し、このフィールドをfoo, barと指定した場合、パラメーター値はfooまたはbarのみになります。
ItemType :
ARRAY型パラメーターのアイテムタイプを指定します。デフォルト値:パラメータのデフォルト値を指定します。
ARRAY型の場合、複数の値をカンマで区切る必要があります (,)。- 値がパラメータの型に変換できることを確認してください。そうでない場合、エンドポイントはエラーを返します。
- パラメータにテスト値を設定しない場合、エンドポイントのテスト時にはデフォルト値が使用されます。
場所:パラメータの位置を示します。このプロパティは変更できません。
- パスパラメータの場合、このプロパティは
Pathです。 - その他のパラメーターの場合、リクエスト メソッドが
GETまたはDELETEの場合、このプロパティはQueryです。リクエスト メソッドがPOSTまたはPUTの場合、このプロパティはBodyです。
- パスパラメータの場合、このプロパティは
「テスト値」セクションでは、テストパラメータの表示と設定ができます。これらの値は、エンドポイントをテストする際のパラメータ値として使用されます。値がパラメータの型に変換できることを確認してください。変換できない場合、エンドポイントはエラーを返します。
名前を変更する
エンドポイントの名前を変更するには、以下の手順を実行します。
- プロジェクトのデータサービスページに移動します。
- 左側のペインで、対象のデータアプリの名前をクリックすると、そのエンドポイントが表示されます。
- 名前を変更したいエンドポイントを見つけて、 [...] > [名前の変更]をクリックし、エンドポイントの新しい名前を入力します。
注記:
定義済みのシステムエンドポイントは、名前変更をサポートしていません。
エンドポイントをテストする
エンドポイントをテストするには、以下の手順を実行してください。
ヒント:
データ アプリを Postman にインポートした場合は、Postman でデータ アプリのエンドポイントをテストすることもできます。詳細については、 Postmanでデータアプリを実行する参照してください。
プロジェクトのデータサービスページに移動します。
左側のペインで、対象のデータアプリの名前をクリックすると、そのエンドポイントが表示されます。
テストしたいエンドポイントの名前をクリックすると、その詳細が表示されます。
(オプション)エンドポイントにパラメータが含まれている場合は、テストを行う前にテスト値を設定する必要があります。
エンドポイントの詳細ページの右側のペインで、 「パラメータ」タブをクリックします。
「テスト値」セクションを展開し、パラメーターのテスト値を設定します。
パラメータにテスト値を設定しない場合、デフォルト値が使用されます。
右上隅の「テスト」をクリックしてください。
ヒント:
または、 F5キーを押してエンドポイントをテストすることもできます。
エンドポイントをテストした後、ページの下部に応答が JSON として表示されます。 JSON 応答の詳細については、エンドポイントの応答を参照してください。
エンドポイントをデプロイ
注記:
自動同期とデプロイメントを有効にしてデータ アプリを GitHub に接続している場合、GitHub で行ったデータ アプリの変更はすべてTiDB Cloud Data Service に自動的にデプロイされます。詳細については、 GitHubで自動的にデプロイ参照してください。
エンドポイントをデプロイするには、以下の手順を実行します。
プロジェクトのデータサービスページに移動します。
左側のペインで、対象のデータアプリの名前をクリックすると、そのエンドポイントが表示されます。
デプロイしたいエンドポイントを見つけ、エンドポイント名をクリックして詳細を表示し、右上隅の「デプロイ」をクリックします。
データアプリで「下書きの確認」が有効になっている場合、変更内容を確認するためのダイアログが表示されます。確認結果に基づいて、変更を破棄するかどうかを選択できます。
デプロイを確定するには、 「デプロイ」をクリックしてください。エンドポイントが正常にデプロイされると、 「エンドポイントがデプロイされました」というメッセージが表示されます。
エンドポイント詳細ページの右側のペインで、「デプロイメント」タブをクリックすると、デプロイ履歴を表示できます。
エンドポイントを呼び出す
エンドポイントを呼び出すには、デプロイされていないドラフト版またはデプロイ済みのオンライン版のエンドポイントのいずれかにHTTPSリクエストを送信します。
ヒント:
データ アプリを Postman にインポートした場合は、Postman でデータ アプリのエンドポイントを呼び出すこともできます。詳細については、 Postmanでデータアプリを実行する参照してください。
前提条件
エンドポイントを呼び出す前に、API キーを作成する必要があります。詳細については、 APIキーを作成するを参照してください。
リクエスト
TiDB Cloud Data Serviceは、エンドポイントを呼び出すのに役立つコード例を生成します。コード例を取得するには、以下の手順を実行してください。
プロジェクトのデータサービスページに移動します。
左側のペインで、対象のデータアプリの名前をクリックすると、そのエンドポイントが表示されます。
呼び出したいエンドポイントを見つけて、 [...] > [コード例]をクリックします。[**コード例]**ダイアログボックスが表示されます。
ヒント:
または、エンドポイント名をクリックして詳細を表示し、右上隅の「...」 > 「コード例」をクリックすることもできます。
ダイアログボックスで、エンドポイントを呼び出すために使用する環境と認証方法を選択し、コード例をコピーしてください。
注記:
- コード例は、エンドポイントのプロパティとパラメータに基づいて生成されます。
- 現在、 TiDB Cloud Data Serviceではcurlコードの例のみを提供しています。
環境:ニーズに応じて、テスト環境またはオンライン環境を選択してください。オンライン環境は、エンドポイントをデプロイした後にのみ利用可能です。
認証方法:基本認証またはダイジェスト認証を選択してください。
- 基本認証では、 APIキーがBase64エンコードされたテキストとして送信されます。
- ダイジェスト認証では、 APIキーが暗号化された形式で送信されるため、より安全です。
基本認証と比較して、ダイジェスト認証のcurlコードには
--digestオプションが追加されています。
以下は、バッチ操作を有効にし、ダイジェスト認証を使用する
POSTリクエストの curl コードスニペットの例です。エンドポイントのドラフトバージョンを呼び出すには、
endpoint-type: draftヘッダーを追加する必要があります。curl --digest --user '<Public Key>:<Private Key>' \ --request POST 'https://<region>.data.tidbcloud.com/api/v1beta/app/<App ID>/endpoint/<Endpoint Path>' \ --header 'content-type: application/json'\ --header 'endpoint-type: draft' --data-raw '{ "items": [ { "age": "${age}", "career": "${career}" } ] }'オンライン環境でコード例を確認する前に、まずエンドポイントをデプロイする必要があります。
エンドポイントの最新オンラインバージョンを呼び出すには、次のコマンドを使用します。
curl --digest --user '<Public Key>:<Private Key>' \ --request POST 'https://<region>.data.tidbcloud.com/api/v1beta/app/<App ID>/endpoint/<Endpoint Path>' \ --header 'content-type: application/json'\ --data-raw '{ "items": [ { "age": "${age}", "career": "${career}" } ] }'注記:
- リージョンドメイン
<region>.data.tidbcloud.comをリクエストすることで、 TiDB Cloud Starterインスタンスが配置されているリージョンのエンドポイントに直接アクセスできます。 - あるいは、リージョンを指定せずにグローバルドメイン
data.tidbcloud.comリクエストすることもできます。この場合、 TiDB Cloud Data Service はリクエストをターゲットリージョンに内部的にリダイレクトしますが、レイテンシーが増加する可能性があります。この方法を選択する場合は、エンドポイントを呼び出す際に、curl コマンドに--location-trustedオプションを追加してください。
コード例をアプリケーションに貼り付け、必要に応じて編集してから実行してください。
<Public Key>および<Private Key>プレースホルダーを API キーに置き換える必要があります。詳細については、 APIキーを管理するを参照してください。エンドポイントのリクエストメソッドが
GETで、エンドポイントでページネーションが有効になっている場合、page=<Page Number>とpage_size=<Page Size>の値を目的の値に更新することで、結果をページ分割できます。たとえば、1 ページあたり 10 個のアイテムを含む 2 ページ目を取得するには、page=2とpage_size=10を使用します。エンドポイントのリクエストメソッドが
POSTまたはPUTの場合は、操作対象のデータ行に応じて--data-rawオプションを入力してください。- バッチ操作が有効になっているエンドポイントの場合、
--data-rawオプションは、データ オブジェクトの配列を含むitemsフィールドを持つオブジェクトを受け入れるため、1 つのエンドポイントを使用して複数のデータ行を操作できます。 - バッチ操作が有効になっていないエンドポイントの場合、
--data-rawオプションは 1 つのデータ オブジェクトのみを受け入れます。
- バッチ操作が有効になっているエンドポイントの場合、
エンドポイントにパラメータが含まれている場合は、エンドポイントを呼び出す際にパラメータ値を指定してください。
応答
エンドポイントを呼び出した後、JSON 形式で応答を確認できます。詳細については、 データサービスの応答コードとステータスコード参照してください。
エンドポイントをアンデプロイする
注記:
データ アプリデータアプリをGitHubに接続しました自動同期とデプロイを有効にしている場合、このデータ アプリのエンドポイントのデプロイを解除すると、GitHub 上のこのエンドポイントの構成も削除されます。
エンドポイントをアンデプロイするには、以下の手順を実行します。
- プロジェクトのデータサービスページに移動します。
- 左側のペインで、対象のデータアプリの名前をクリックすると、そのエンドポイントが表示されます。
- アンデプロイするエンドポイントを見つけて、 [...] > [アンデプロイ]をクリックします。
- 展開解除を確定するには、 「展開解除」をクリックしてください。
エンドポイントを削除します
注記:
エンドポイントを削除する前に、エンドポイントがオンラインでないことを確認してください。そうしないと、エンドポイントを削除できません。エンドポイントのデプロイを解除するには、「エンドポイントエンドポイントをアンデプロイするデプロイする」を参照してください。
エンドポイントを削除するには、以下の手順を実行します。
- プロジェクトのデータサービスページに移動します。
- 左側のペインで、対象のデータアプリの名前をクリックすると、そのエンドポイントが表示されます。
- 削除したいエンドポイントの名前をクリックし、右上隅の「…」 > 「削除」をクリックします。
- 削除を確定するには、 「削除」をクリックしてください。