本ページでは、スクリプトモードでの API 生成の実行手順を説明します。

パーソナライズされたクエリに対するハイエンドユーザーの要件を満たすため、データサービスでは SQL をカスタマイズするためのスクリプトパターンも提供しています。これにより、API のSQL クエリを自分自身で作成することが可能になります。複数テーブルの関連付け、複雑なクエリ条件、および集約関数に対応しています。

API 基本情報の設定

  1. [API Service list] > [Generate API] に移動します。
  2. [Script Mode] をクリックし、API の基本事項を入力します。
    設定では、 API グループ化の設定に注意してください。 API グループには、特定のシナリオに使用される各種 API 集が含まれています。 これは API Gateway での最小管理単位です。 Alibaba Cloud API マーケットでは、各 API グループは特定の API に対応しています。
    API グループ化の設定例は次のとおりです。

    たとえば、天気を照会するのに API プロダクトの設定を行いたい場合、都市名検索による天気検索 API、観光地天気検索 API、郵便番号検索による天気 API の 3 種類の API プロダクトを設定し、"天気の照会" と名付けた API グループを作成し、このグループに上記の 3 つの API を配置します。 その API がマーケットに公開されると、天気の照会プロダクトとして表示されます。

    もちろん、ユーザーが生成した API がユーザー自身のアプリ内で使用される場合、分類するのにグループ化を行うことができます。

    現在、ビルド API は HTTP プロトコル、GET リクエストモード、および JSON リターンのみをサポートしています。

  3. API の基本情報を入力したら、[Next] をクリックし、API パラメーター設定ページに移動します。

API パラメーターの設定

  1. データソースとテーブルを選択します。

    [Data source type] > [Data source name] > [Data Table] に移動します。データテーブルリスト内の適切なテーブル名をクリックし、このテーブルのフィールド情報を表示します。

    • データセット内でデータソースを事前に設定する必要があります。
    • データソースを選択する必要があります。 データソース間のテーブル結合クエリには対応していません。
  2. API の SQL クエリを書きます。
    右側のコードボックスに SQL コードを入力することができます。 システムは、フィールドのリスト中のフィールドをチェックするワンクリックの SQL 機能に対応しています。[Generate SQL] をクリックすると、SELECT xxx FROM xxx の SQL 文が自動的に生成され、右カーソルに挿入されます。
    • ワンクリックの SQL 追加は、フィールド数が比較的多い場合に特に便利です。これにより、SQL 作成の効率が大幅に向上します。
    • SELECT クエリのフィールドは、API のリターンパラメーターです。where 条件のパラメーターは、API のリクエストパラメーターです。リクエストパラメーターは "$" で識別されます。
  3. 最後に、パラメーター情報を編集して完了です。
    API クエリの SQL を作成した後、右上の [parameters]をクリックし、パラメーター情報の編集ページに切り替えます。編集ページでは、タイプ、サンプル値、既定値、およびパラメーターの説明を編集します。タイプとパラメーターの説明の編集は必須です。
    API の呼び出し者が API をより総合的に理解できるようにするため、可能な限り、API パラメーター情報を入力します。
設定プロセスでは、ページング結果の戻り設定に注意を払う必要があります。
  • [Response pagination] を有効にしない場合、既定では、API は最大 500 レコードを出力します。
  • 返される結果が 500 を超える可能性がある場合、[Response pagination] 機能をオンにします。
次のパブリックパラメーターは、[Response pagination] 機能が有効になっている場合にのみ、使用することができます。
  • 共通のリクエストパラメーター
    • pageNum: 現在のページ番号です。
    • Pagesize: ページサイズです。 つまり、1 ページごとのレコード数です。
  • 共通のレスポンスパラメーター
    • pageNum: 現在のページ番号です。
    • Pagesize: ページサイズです。 つまり、1 ページごとのレコード数です。
    • totalNum: レコードの合計数です。
SQL ルールプロンプト
  • 対応している SQL 文は 1 つだけであり、複数の SQL 文には対応していません。
  • 対応しているのは、SELECT クラスだけです。 INSERT、UPDATE、DELETE などの他のクラスは対応していません。
  • SELECT クラスを対象としたクエリフィールドは、API のリターンパラメーターです。where 条件内の $ {Param} の変数 "Param" は、API のリクエストパラメーターです。
  • SELECT \* はサポートされていません。クエリの列は明示的に指定する必要があります。
  • 単一のテーブルクエリ、テーブル結合クエリ、および単一のデータソース内のネストされたクエリがサポートされています。
  • SELECT クエリ列の列名に、テーブル名のプレフィクス (たとえば、T. name など) がある場合、このエイリアスをリターンパラメーター名 (たとえば、T. name を名前とする) と見なす必要があります。
  • 集計関数 (min / max / sum / countなど) を使用する場合は、エイリアスをリターンパラメーター名として使用する必要があります (total \ _ num を sum (Num) とする)。
  • SQL では、リクエストパラメーターが置き換えられるとき、$ {Param} は一様で、文字列 } に $ {Param} を含んでいます。 $ {Param} にエスケープ文字 \ があるとき、通常の文字列として処理されるリクエストパラメーター処理を行いません。
  • たとえば、'$ {ID}'、 'ABC $ {xyz} 123' のように、 $ {Param} を引用符で囲むことはサポートされていません。 'abc ', '$ {xyz}', '123' の文字列の結合については、必要であれば実装することができます。

API パラメーターの設定が完了したら、[Next] をクリックし、API のテストセクションに移動します。

API のテスト

API パラメーターの設定が完了したら、API のテストを開始します。

パラメーターを設定し、[Start Test] をクリックして、API リクエストをオンラインで送信します。 API リクエストの詳細と応答結果が右側に表示されます。 テストが失敗した場合は、エラーメッセージを注意深く読み、適切な調整を行って API を再テストします。

設定プロセスでは、標準の応答例の設定に注意する必要があります。 API をテストするとき、システムは自動的にエラー例およびエラーコードを生成します。 ただし、標準の応答例は自動的には生成されません。 テストが成功したら、[Save as Normal Response Sample] をクリックし、今のテスト結果を通常の応答サンプルとして保存します。 機密データが応答に含まれている場合、手動で編集することができます。
  • 標準の応答例は、API 呼び出し者に重要な参照値を提供します。 可能であれば例を指定します。
  • API 呼び出し遅延は、現在の API リクエストの遅延です。これは、API のパフォーマンスを評価する際に使用されます。 レイテンシが高すぎる場合は、データベースの最適化を検討してください。

API のテストが完了したら、[Finish] をクリックします。 これで、データ API は正常に作成されました。

API 詳細の閲覧

[API Service list] ページに戻り、操作列の [details] をクリックし、API の詳細を表示します。 このページには、呼び出し者から見た API に関する詳細情報が表示されます。