tRESTClientの標準プロパティ - 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] (標準)ジョブのフレームワークで実行されているtRESTClientを設定するために使われます。

[Standard] (標準)tRESTClientコンポーネントは、ESBファミリーに属しています。

このフレームワーク内のコンポーネントは、すべてのTalend製品で利用できます。

基本設定

URL

呼び出すRESTサーバーのURLアドレスを入力します。[Use Service Locator] (Service Locatorを使用)チェックボックスがオンの場合、このフィールドは表示されず、RESTサーバーのURLはService Locatorサーバーから自動的に取得されます。

[Relative Path] (相対パス)

呼び出すRESTサーバーの相対パスを入力します。

たとえば、http://localhost:8888/services/Customers/listにアクセスする場合:

[Use Service Locator] (Service Locatorを使用)が無効の場合: アドレスの最初の部分からどれでもURLフィールドに入力し、2番目の部分を[Relative Path] (相対パス)フィールドに入力できます。たとえば、URLhttp://localhost:8888[Relative Path] (相対パス)/services/Customers/listと入力できます。RESTサーバーの完全パスをURLに入力し、[Relative Path] (相対パス)を空白にしておくことも可能です。

[Use Service Locator] (Service Locatorを使用)が有効の場合: URLの部分はService Locatorによって与えられます。この場合、URLの部分を知っている必要があり、残りの部分を[Relative Path] (相対パス)に指定する必要があります。これは、リクエストするサービスに応じて異なります。たとえばtRESTRequestでは、[REST Endpoint] (RESTエンドポイント)http://localhost:8888/servicesに指定し、[Use Service Locator] (Service Locatorを使用)を有効にします。次に、このサービスを使用する場合は、tRESTClient側で、[Relative Path] (相対パス)/customers/listを指定します。
警告: 相対パスを使う場合は、コンパイル時の問題を避けるために、host:portだけを指定するのではなく、URLフィールドにサブディレクトリーを少なくとも1つ指定してください。たとえば、http://localhost:8888の代わりにhttp://localhost:8888/servicesを使ってください。

HTTPメソッド

このリストから、目的のアクションを説明するHTTPメソッドを選択します。HTTPメソッドの具体的な意味は、Webサービスプロバイダーの定義によって異なります。一般的に受け入れられているHTTPメソッドの定義は、以下のとおりです。

- GET: 特定のパラメーターをベースにサーバーエンドからデータを取得します。

- POST: 特定のパラメーターをベースにサーバーエンドにデータをアップロードします。

- PUT: 特定のパラメーターをベースにデータを更新します。データが存在しない場合は作成します。

- PATCH: 特定のパラメーターをベースにデータを部分的に変更します。

- DELETE: 特定のパラメーターをベースにデータを削除します。

[Content Type] (コンテンツタイプ)

サーバーエンドにアップロードするコンテンツのメディアタイプに応じて、[XML][JSON][FORM]のいずれかを選択します。

このリストは、POSTPUT、またはPATCH HTTPメソッドを選択した場合のみ表示されます。

[Accept Type] (許可タイプ)

クライアントエンドで、サーバーエンドからの受信を許可するレスポンスのメディアタイプを選択します。

オプションには、[XML][JSON][ANY] (すべて)があります。[ANY] (すべて)を選択すると、すべてのタイプのレスポンスメールを受け入れ、文字列に変換します。

クエリーパラメーター

URIクエリーパラメーターを名前/値のペアの形式で指定します。

このオプションは、GETメソッドで使用する場合がほとんどです。

[Schema] (スキーマ)および[Edit Schema] (スキーマを編集) (スキーマを編集)

スキーマとは行の説明で、処理された後に次のコンポーネントに渡されるフィールドの数を定義するものです。

このコンポーネントは、3つの組み込み、読み取り専用のスキーマを使用します。

スキーマ構造を表示するには、[Edit Schema] (スキーマを編集)をクリックします。

警告:

スキーマタイプを変更すると、スキーマ構造が失われ、コンポーネントが失敗する可能性があります。

入力スキーマ

入力データのスキーマ。このスキーマには2つのカラムが含まれています。

- [body] (ボディ): 構造化された入力データのコンテンツを保存します。

- [string] (文字列): 入力コンテンツが文字列であるか、文字列として処理される場合に、それを保存します。

[Response Schema] (レスポンススキーマ)

サーバーレスポンスのスキーマ。このスキーマは、[Row] (行) > [Response] (レスポンス)リンク経由で次のコンポーネントに渡されます。また、次の3つのカラムが含まれています。

- statusCode: サーバーエンドからのHTTPステータスコードを保存します。

- [body] (ボディ): サーバーエンドからの構造化されたレスポンスのコンテンツを保存します。

- [string] (文字列): 文字列であるか、文字列として処理される場合に、サーバーエンドからのレスポンスコンテンツを保存します。

[Error Schema] (エラースキーマ)

エラー情報のスキーマ。このスキーマは、[Row] (行) > [Error] (エラー)リンク経由で次のコンポーネントに渡されます。また、次の2つのカラムが含まれています。

- errorCode: 呼び出し処理中にエラーが発生すると、サーバーエンドからのHTTPステータスコードを保存します。エラーコードの具体的な意味は、Webサービスプロバイダーの定義によって異なります。参照情報は、en.wikipedia.org/wiki/List_of_HTTP_status_codesをご覧ください。

- errorMessage: エラーコードに対応するエラーメッセージを保存します。

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

RESTサーバーエンドで認証が必要な場合は、このチェックボックスをオンにします。認証タイプを以下から選択します。

  • [Basic HTTP] (Basic認証): [Username] (ユーザー名)[Password] (パスワード)に認証情報を入力します。
  • [HTTP Digest] (Digest認証): [Username] (ユーザー名)[Password] (パスワード)に認証情報を入力します。
  • [SAML Token (ESB runtime only)] (SAMLトークン(ESB実行時のみ)): [Username] (ユーザー名)[Password] (パスワード)に認証情報を入力します。
  • OAuth2 Bearer: [Bearer Token] (Bearerトークン)フィールドにbase64でエンコードされた認証情報文字列を入力します。
  • [Open ID Connect] (ID接続を開く): [Username] (ユーザー名)[Password] (パスワード)に認証情報を入力します。詳細は、Talend認証とアクセス管理およびESBリソースと認証の管理をご覧ください。

パスワードを入力する場合は、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力し、[OK]をクリックして設定を保存します。

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

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

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

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

このチェックボックスをオンにしてこのコンポーネントにコリレーションIDを作成します。

コリレーションIDは[Correlation Value] (コリレーション値)フィールドで指定できます。この場合、コリレーションIDはIDが呼び出すサービスに渡されます。その結果、連鎖型のサービスコールがこのコリレーションIDの下にまとめられます。このフィールドを空白にすると、実行時にこの値が自動的に生成されます。

このオプションを有効にすると、tRESTClientはレスポンスヘッダーからコリレーションIDも抽出してコンポーネント変数に保存し、フローで引き続き利用できるようにします。

Die on error (エラー発生時に強制終了) このチェックボックスをオンにすると、エラーが発生したジョブは強制終了されます。エラーの発生した行をスキップし、エラーが発生していない行の処理を完了するには、このチェックボックスをオフにします。

詳細設定

[Log messages] (ログメッセージ)

サービスプロバイダーとコンシューマーの間のメッセージ交換を記録するには、このチェックボックスをオンにします。

[Enable WebClient Operation Reporting] (WebClientオペレーションレポートの有効化)

このチェックボックスをオンにすると、CXFエンドポイントプロパティがクライアントサイドで設定されます。一部の出力CXFメトリクスインターセプターはこれを使用し、URLを使用してサービスリクエストを追跡します。

設定されるプロパティはorg.apache.cxf.resource.operation.nameで、HTTPメソッド名と共にサービスURLが含まれています(たとえば、GET:http: //example.com:8080/service/)。

このチェックボックスをオンにしていない場合、プロパティは設定されず、一部のメトリクスがカウントされないため、パフォーマンスが向上する場合があります。

[Convert Response To DOM Document] (DOMドキュメントにレスポンスを変換する)

サーバーからのレスポンスをドキュメントタイプに変換する場合は、このチェックボックスをオンにします。

レスポンスが文字列として処理されるようにするには、このチェックボックスをオフにします。

[Convert Types To Strings] (タイプを文字列に変換)

このオプションは、[Content Type] (コンテンツタイプ)JSONであるか、[Accept Type] (許可タイプ)JSONまたは[any] (すべて)の場合に表示されます。JSONのすべての値を引用符の間の文字列に変換するには、このチェックボックスをオンにします。たとえば、このオプションを有効にすると、JSONデータは:

 "root": {
      "test": 111
    }

以下に変更されます。

"root": {
      "test": "111"
    }
[Drop JSON Request Root] (JSONリクエストルートを削除)

このオプションは、[HTTP Method] (HTTPメソッド)POSTPUT、またはPATCHで、[Content Type] (コンテンツタイプ)JSONの場合に表示されます。ルートJSONエレメントをドロップするには、このチェックボックスをオンにします。

[Wrap JSON Response] (JSONレスポンスをラップ)

このオプションは、[Basic settings] (基本設定)ビューの[Accept Type] (許可タイプ)リストでJSONが選択されている場合に表示され、デフォルトで有効になっています。

このチェックボックスをオンにすると、レスポンスはrootエレメントでラップされます。レスポンスからrootエレメントを削除するには、このチェックボックスをオフにします。

[HTTP Headers] (HTTPヘッダー)

HTTPヘッダーに名前/値のペアを入力して、リクエストされたHTTPオペレーションのパラメーターを定義します。

HTTPヘッダーの具体的な定義は、REST Webサービスプロバイダーにお問い合わせください。参照情報は、en.wikipedia.org/wiki/List_of_HTTP_headersをご覧ください。

[Disable chunked encoding] (チャンクエンコードの無効化)

このオプションは、[HTTP Method] (HTTPメソッド)POSTPUT、またはPATCHの場合に表示されます。payloadのチャンクエンコードを無効にする場合は、このチェックボックスをオンにします。

[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] (プロパティ値)フィールドにプロパティの名前と値をそれぞれ入力して、サービスを特定します。

[Connection timeout] (接続タイムアウト)

クライアントが接続を試みてタイムアウトになるまでの時間を秒数で設定します。0に設定すると、接続の試行にタイムアウトがなくなります(デフォルト: 30)。

このオプションは、Studioと、DIジョブのユースケースでのみ利用できます。ESBを Talend Runtimeにデプロイする場合、コンポーネントがランタイムでデプロイされていると、このパラメーターは無効になります。設定ファイル<TalendRuntimePath>/container/etc/org.apache.cxf.http.conduits-common.cfgには、たとえば、HTTPとHTTPSの両方のリクエストを処理し、このHTTPコンジットファイル内にclient.ConnectionTimeoutパラメーターをミリ秒単位で指定するurl = http://.*のように、サービスを網羅するURLが必要です。[Receive timeout] (受信タイムアウト)オプションを使用する必要がある場合は、client.ReceiveTimeoutもミリ秒で指定してください。

Talend Administration Center でタイムアウトを設定する方法は、『Talend Administration Centerユーザーガイド』をご覧ください。

Talend Administration Center でタイムアウトを設定する方法は、Talend Help Center (https://help.talend.com)で『Talend Administration Centerユーザーガイド』をご覧ください。

[Receive timeout] (受信タイムアウト) クライアントがレスポンスを待機してタイムアウトになるまでの時間を秒数で設定します。0に設定すると、レスポンスの待機にタイムアウトがなくなります。(デフォルト: 60)このオプションの機能は、Studio、DIのユースケース、およびESB Runtime(OSGi /マイクロサービスのデプロイ)での[Connection timeout] (接続タイムアウト)と似ています。コンポーネントがランタイム時または Talend Administration Center 内でデプロイされた後にそれを使用する方法については、[Connection timeout] (接続タイムアウト)オプションをご覧ください。
[Use HTTP proxy] (HTTPプロキシの使用) プロキシサーバーを使用する場合は、このチェックボックスをオンにします。選択すると、接続の詳細(ホスト、ポート、ユーザー名、パスワード)を入力する必要があります。
[tStatCatcher Statistics] (tStatCatcher統計) このチェックボックスをオンにすると、ジョブレベルおよび各コンポーネントレベルでジョブ処理メタデータが収集されます。

グローバル変数

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

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

HEADERS: HTTP応答ヘッダー。これはFlow変数で、HTTP応答ヘッダー値のリストを返します。

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

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

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

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

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

使用方法

[Usage rule] (使用ルール)

このコンポーネントは、RESTfulサービスプロバイダーと通信するためにRESTful Webサービスクライアントとして使用され、サービスリクエストをジョブに入力し、ジョブの結果をサービス応答として返すことができます。実行するアクションに応じて、通常はジョブまたはサブジョブ内の開始または中間コンポーネントとして機能します。

[Dynamic settings] (ダイナミック設定)

[+]ボタンをクリックしてテーブルに行を追加し、[Code] (コード)フィールドにコンテキスト変数を入力して、[Use Authentication] (認証を使用)または[Use HTTP proxy] (HTTPプロキシの使用)オプションがランタイムにダイナミックにオンまたはオフになるようにします。テーブルに行を2つ追加すれば、両方のオプションを設定できます。

ダイナミックパラメーターを定義すると、[Basic settings] (基本設定)ビューまたは[Advanced settings] (詳細設定)ビューで対応するオプションがハイライトされ、利用できなくなります。

動的パラメーターの使用サンプルは、コンテキストベースの動的接続によるデータベースからのデータの読み取りおよび動的に読み取られた接続パラメーターを使用した異なるMySQLデータベースからのデータの読み取りをご覧ください。[Dynamic settings] (ダイナミック設定)とコンテキスト変数については、Talend Studioユーザーガイドをご覧ください。

[Connections] (接続)

出力リンク:

[Row] (行): レスポンス、エラー。

[Trigger] (トリガー): サブジョブがOkの場合、サブジョブがエラーの場合、コンポーネントがOkの場合、ifを実行、コンポーネントがエラーの場合

入力リンク:

[Row] (行): メイン、リジェクト。

[Trigger] (トリガー): 条件付き実行、サブジョブがOKの場合、サブジョブがエラーの場合、コンポーネントがOKの場合、コンポーネントがエラーの場合。

接続に関する詳細は、 Talend Studioユーザーガイドをご覧ください。

[Limitation] (制限事項)

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