メイン コンテンツをスキップする 補完的コンテンツへスキップ

tRESTRequestの標準プロパティ

これらのプロパティは、標準ジョブのフレームワークで実行されているtRESTRequestを設定するために使われます。

標準tRESTRequestコンポーネントは、ESBファミリーに属しています。

このコンポーネントは、ESBで Talend ソリューションの1つを使用している場合のみ該当します。[Service] (サービス)リポジトリーノードと[Data Service] (データサービス)の作成に関連するウィザードと併用する必要があるためです。

基本設定

[Initialize from OAS/Swagger 2.0 API definition / Definition file] (OAS/Swagger 2.0 API定義/定義ファイルから初期化)

[...]をクリックしてOAS/Swagger 2.0ファイルに移動し、コンポーネントのエンドポイント、APIマッピングおよびドキュメンテーションをAPI定義から初期化します。

[REST Endpoint] (RESTエンドポイント)

REST-ful WebサービスにリクエストできるようにするURIの場所をこのフィールドに入力します。"http://localhost:8088/services/customers"のように明示的なポート番号を指定するか、Talendのデフォルトポートを使い、"/services/customers"のように相対パスのみを指定します。

デフォルトポートは、ビルドタイプや、サービスを実行する場所によって異なります。
  • Talend Studio内でサービスを実行するには: 8090
  • Talend Runtime Container内でサービスを実行するには: HTTP 8040はすべてのサービスに使われるためです。また、HTTPSが Talend Runtimeで有効な場合、サービスは9001でも公開されます。
  • サービスをMicroserviceとして実行するには: 8065

TalendのStudioマンスリーアップデートR2020-05以降をインストールしている場合は、コンテキスト変数を使ってエンドポイントを定義できます。Studioマンスリーアップデートの詳細は、管理者にお問い合わせください。

REST API Mapping

マッピングテーブルの下にある[+]ボタンをクリックして行を追加し、HTTPリクエストを指定します。

[Output Flow] (出力フロー): [...]ボタンをクリックして、出力フローの名前を指定し、後でその出力フローのスキーマをダイアログボックスに設定します。

スキーマは必須ではないため、tRESTRequestコンポーネントに追加のパラメーターを渡す必要がない場合は、スキーマを空のままにしておくこともできます。ただし、[URI Pattern] (URIパターン)フィールドにURIパスのパラメーターを設定してある場合、または、[REST Endpoint] (RESTエンドポイント)フィールドで指定したURIに、URIクエリー、HTTPヘッダー、またはフォームパラメーターなど、オプションのリクエストパラメーターを追加する必要がある場合は、スキーマに入力する必要があります。

スキーマに名前bodyを追加し、POSTおよびPUTメソッドのリクエスト本文を取得します。[Document] (ドキュメント)[String] (文字列)、および[Byte] (バイト)の型がサポートされています。

出力フロースキーマにURIパラメーターを指定すると、場合により、スキーマの[Comment] (コメント)フィールドにパラメーターの型を定義する必要があります。デフォルトでは、[Comment] (コメント)フィールドを空のままにすると、パラメーターはパスパラメーターと見なされます。以下は、サポートされている[Comment] (コメント)値のリストです。
  • 空白またはpathはデフォルトの@PathParamに対応します。

  • queryは@QueryParamに対応します。

  • formは@FormParamに対応します。

  • headerは@HeaderParamに対応します。

  • matrixは@MatrixParamに対応します。

  • multipartは、リクエスト本文を表すCXF固有の@Multipartに対応します。POSTおよびPUT HTTP方式でのみ使用できます。

    たとえば、numberというカラムを追加し、[Comment] (コメント)フィールドにqueryと入力して、リクエストの数字パラメーターを取得します。ヘッダーと同じ名前のカラムを追加し、[Comment] (コメント)フィールドにheaderと入力して、HTTPヘッダーをフェッチします。
情報メモ注: オプションパラメーターのデフォルト値を設定することをお勧めします(ヘッダー、クエリー、フォーム)。そのためには、スキーマの[Default] (デフォルト)カラムに入力します。

HTTP Verb: HTTP方式(GET/POST/PUT/PATCH/DELETE/OPTIONS/HEAD)をリストから選択します。

[URI pattern] (URIパターン): リソースを説明するREST-ful URIをこのフィールドに入力します。

[Consumes] (コンシューム): HTTP方式がPOST、PUT、またはPATCHの場合は、コンポーネントが使用するコンシュームコンテンツの形式タイプを、[XML or JSON] (XMLまたはJSON)XMLJSONFormMultipart、およびAnyの中から選択します。

[Produces] (プロデュース): HTTP方式がGET、POST、PUT、PATCH、またはDELETEの場合は、コンポーネントが使用するプロデュースコンテンツの形式タイプを、[XML or JSON] (XMLまたはJSON)XMLJSONHTML、およびAnyから選択するか、または<oneway>を選択して、1方向のリクエストを受け入れます。

[Streaming] (ストリーミング): 大量のデータを効率的に処理できるように、レスポンスデータをチャンク形式でストリーミングするには、このチェックボックスをオンにします。

[Use Service Locator] (サービスロケーターを使用) Service Locatorを有効にするには、このチェックボックスをオンにします。Service Locatorは、要求およびサービスレベル合意(SLA)を満たすよう、サービスの可用性を維持します。サービスネームスペースとサービス名をそれぞれのフィールドに指定します。
[Use Service Activity Monitor] (サービスアクティビィティモニターの使用) サービスアクティビティモニタリングを有効にするには、このチェックボックスをオンにします。このオプションにより、イベントがキャプチャーされ、それに関する情報が格納されて、サービスアクティビィティの詳細な分析とビジネストランザクションにおけるメッセージの追跡とトレースが行えます。これはサービス応答時間の分析、トラフィックパターンの特定、根本原因分析の実行などに使用できます。

[Use Authentication (ESB runtime only)] (認証を使用(ESB runtimeで有効))

現在のサービスで認証オプションを有効にするには、このチェックボックスをオンにします。このオプションはランタイムでのみ利用できます。認証タイプを以下から選択します。

  • [Basic HTTP] (Basic認証): HTTPヘッダーに標準フィールドを使用してWebリソースへのアクセス制御を強制する最も単純な手法です。
  • [SAML Token] (SAMLトークン): IDプロバイダーとサービスプロバイダーの間で認証データを交換するための、XMLベースでオープン標準のデータ形式。
  • [Open ID Connect] (ID接続を開く): OAuth2の拡張機能で、クライアントは認証サーバーによって実行される認証に基づいてエンドユーザーのIDを確認したり、エンドユーザーに関する基本的なプロファイル情報を相互運用可能なRESTに類似した方法で入手したりできます。詳細は、Talend Identity and Access ManagementおよびESBリソースと認証の管理をご覧ください。

[Use Authorization] (認証サービスを使用)

このチェックボックスをオンにして、許可されたコールを有効にします。このオプションは、[Use Authentication] (認証を使用)リストで[SAML Token (ESB runtime only)] (SAMLトークン(ESB実行時のみ))を選択すると表示されます。

ユーザーのロールおよび権限の詳細は、『 Talend Administration Centerユーザーガイド』および『 Talend ESBインフラストラクチャーサービス設定ガイド』をご覧ください。

[Use Business Correlation] (ビジネスコリレーションを使用)

コリレーションオプションを有効にするには、このチェックボックスをオンにします。それにより、連鎖型のサービスコールが同じコリレーションIDの下にまとめられます。tRESTRequestは、要求ヘッダーからコリレーションIDを抽出してコンポーネント変数に保管し、フローで引き続き使えるようにします。

このオプションがクライアントサイドで有効になっていない場合は、コリレーションIDがtRESTRequest内に自動的に生成されます。

詳細設定

[Log messages] (ログメッセージ) サービスプロバイダーとコンシューマーの間のメッセージ交換を記録するには、このチェックボックスをオンにします。
[Wrap JSON Request] (JSONリクエストをラップ) JSONリクエストをrootエレメントでラップするには、このチェックボックスをオンにします。
[Attributes to Elements] (属性からエレメントに) レスポンス属性にある@を除外する場合はこのチェックボックスをオンにします。
情報メモ注: このオプションは、Talendが提供するR2021-09以降のStudioマンスリーアップデートをインストールした時のみ利用できます。詳細は管理者にお問い合わせください。
[Convert JSON values to String in response] (レスポンスのJSON値を文字列に変換) レスポンスのJSON値を文字列形式に変換するには、このチェックボックスをオンにします。
[Service Locator Customer Properties] (Service Locatorの顧客プロパティ) このオプションは、[Basic settings] (基本設定)タブで[Use Service Locator] (Service Locatorを使用)が有効な場合に表示されます。[+]をクリックして、テーブルに必要なだけのプロパティを追加します。[Property Name] (プロパティ名)フィールドおよび[Property Value] (プロパティ値)フィールドにプロパティの名前と値をそれぞれ入力して、サービスを特定します。
[Service Activity Customer Properties] (サービスアクティビティの顧客プロパティ) このオプションは、[Basic settings] (基本設定)タブで[Use Service Activity Monitor] (サービスアクティビティモニタリングの使用)が有効である場合に表示されます。[+]をクリックして、テーブルに必要なだけのプロパティを追加します。[Property Name] (プロパティ名)フィールドおよび[Property Value] (プロパティ値)フィールドにプロパティの名前と値をそれぞれ入力して、サービスを特定します。

[Expose Swagger specification] (Swagger仕様の公開)

このオプションは、tRESTRequestがサービスプロバイダーとして使用されている場合に表示されます。Swagger仕様を公開し、Swagger UIをRESTサービスに含める場合は、このチェックボックスをオンにします。人が読める形式のオンラインAPIドキュメンテーションと、基本的なテスト機能が提供されます。

ジョブがStudioで実行されている場合、Swagger仕様はhttp://127.0.0.1:8090/services/SERVICE_NAME/swagger.jsonhttp://127.0.0.1:8090/services/SERVICE_NAME/swagger.yamlで入手できます。Swagger UIは使用できません。

ジョブが Talend Runtime内にデプロイされている場合、Swagger仕様はhttp://127.0.0.1:8040/services/SERVICE_NAME/swagger.jsonhttp://127.0.0.1:8040/services/SERVICE_NAME/swagger.yamlで入手できます。Swagger UIはhttp://127.0.0.1:8040/services/SERVICE_NAME/api-docs?url=/services/SERVICE_NAME/swagger.jsonで入手できます。

[Include Documentation into Swagger Spec] (ドキュメンテーションをSwagger仕様に含める)

このオプションは、tRESTRequestがサービスプロバイダーとして使用され、[Expose Swagger specification] (Swagger仕様の公開)チェックボックスがオンの場合に表示されます。このコンポーネントの[Documentation] (ドキュメンテーション)タブの[Comment] (コメント)フィールド内のコンテンツをSwagger仕様とSwagger UIページに追加するには、このオプションを選択します。

[Documentation] (ドキュメンテーション)タブについては、『Talend Studioユーザーガイド』を参照してください。

[tStatCatcher Statistics] (tStatCatcher統計)

このチェックボックスを選択すると、ジョブレベルやコンポーネントレベルでジョブ処理メタデータが収集されます。

グローバル変数

グローバル変数

NB_LINE: 処理された行の数。これはAfter変数で、整数を返します。

URI: RESTリクエストのURI。これはFlow変数で、文字列を返します。

URI_BASE: RESTリクエストのベースURI。これはFlow変数で、文字列を返します。

URI_ABSOLUTE: RESTリクエストの絶対URI。これはFlow変数で、文字列を返します。

HTTP_METHOD: http方式。これはFlow変数で、文字列を返します。

ATTACHMENT_HEADERS: RESTリクエストからの添付ヘッダー。これはFlow変数で、添付ヘッダー値のリストを返します。

ATTACHMENT_FILENAMES: RESTリクエストからの添付ファイル名。これはFlow変数で、すべての添付ファイル名を返します。

PRINCIPAL_NAME: RESTリクエストのプリンシパル名。これはFlow変数で、文字列を返します。

CORRELATION_ID: チェーンされたサービス呼び出しがグルーピングされるコリレーションID。これはFlow変数で、文字列を返します。

ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。

Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。

フィールドまたは式に変数を入れるには、Ctrl + スペースを押して変数リストにアクセスし、リストから使用する変数を選択します。

変数の詳細は、Talend Studioユーザーガイドをご覧ください。

使用方法

使用ルール

このコンポーネントは、Talendジョブがサービスとしてラップされ、サービスへのリクエストをジョブに入力し、ジョブ結果をサービス応答として返すことができる可能性を担います。

要求-応答の通信スタイルの場合、ジョブの結果を応答として返すには、tRESTRequestコンポーネントをtRESTResponseコンポーネントと一緒に使用する必要があります。

制限事項

コンテキスト変数をダイナミックエンドポイントまたはService Locatorのネームスペースに利用できるのは、Studio内のみです。ランタイムではサポートされていません。

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

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。