tRESTRequestの標準プロパティ - Cloud - 8.0

ESB REST

Version
Cloud
8.0
Language
日本語 (日本)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > ESBコンポーネント > ESB RESTコンポーネント
データガバナンス > サードパーティーシステム > ESBコンポーネント > ESB RESTコンポーネント
データクオリティとプレパレーション > サードパーティーシステム > ESBコンポーネント > ESB RESTコンポーネント

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

[Standard] (標準)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

エンドポイントはコンテキスト変数を使って定義できます。

[REST API mapping] (REST APIマッピング)

マッピングテーブルの下にある[+]ボタンをクリックして行を追加し、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ヘッダーをフェッチします。

    Columnカラムでは、API操作名に特殊文字(-$など)を使用することはできません。この操作名は、生成されるコード内でJava識別子として使用されるためです。

    TalendのR2022-02以降のStudio月次アップデートをインストールしている場合は、Commentカラムのパラメータータイプの後に(param-name)と追加すれば、パラメーター名で任意の文字を使用できます。このメカニズムによって、データサービスにあるAPI DesignerからAPIをインポートする際の失敗を回避できます。API Designerで特殊文字が使われている場合は、ColumnカラムでJavaに準拠した文字に置き換えられ、Commentカラムに実際のパラメーター名が追加されます。Studio月次アップデートの詳細は、管理者にお問い合わせください。

注: オプションパラメーターのデフォルト値を設定することをお勧めします(ヘッダー、クエリー、フォーム)。そのためには、スキーマの[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認証とアクセス管理および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] (属性からエレメントに) レスポンス属性にある@を除外する場合はこのチェックボックスをオンにします。
[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] (プロパティ値)フィールドにプロパティの名前と値をそれぞれ入力して、サービスを特定します。

tStatCatcher [Statistics] (統計情報)

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

グローバル変数

[Global Variables] (グローバル変数)

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内のみです。ランタイムではサポートされていません。