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

tRESTRequestの標準プロパティ

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

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

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

基本設定

[API Definition / Definition] (API定義 / 定義)

[...]をクリックしてAPI定義ファイルを参照し、API定義にあるコンポーネントのエンドポイント、APIマッピング、ドキュメンテーションを初期化します。

APIマッピングの出力フロー値は生成されたJavaコードで使われるため、キャメルケース準拠であることが必要です。出力フロー値は、次の優先順位でAPI定義から取得または計算されます。
  • operationId: これはベストプラクティスです。OAS仕様ではoperationIdは必須フィールドではありませんが、APIデザイン時に使用することをお勧めします。
  • 要約(Talend API Designerの[Name] (名前)): 120文字に切り詰められ、サポートされている形式に変換されます。
  • 操作方法とパス: 要約と同じ制約を伴って計算されます。

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

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

デフォルトポートは、ビルドタイプや、サービスを実行する場所によって異なります。
  • Studio Talend内でサービスを実行するには: 8090
  • Conteneur de Talend Runtime内でサービスを実行するには: 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 Talendマンスリーアップデートをインストール済みである場合は、Commentカラムのパラメータータイプの後に(param-name)と追加すれば、パラメーター名で任意の文字を使用できます。このメカニズムによって、データサービスにあるTalend API DesignerからAPIをインポートする際の失敗を回避できます。API Designerで特殊文字が使われている場合は、ColumnカラムでJavaに準拠した文字に置き換えられ、Commentカラムに実際のパラメーター名が追加されます。Studio Talendマンスリーアップデートの詳細は、管理者にお問い合わせください。

情報メモ注: オプションパラメーターのデフォルト値を設定することをお勧めします(ヘッダー、クエリー、フォーム)。そのためには、スキーマの[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] (ストリーミング): 大量のデータを効率的に処理できるように、レスポンスデータをチャンク形式でストリーミングするには、このチェックボックスをオンにします。

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実行時のみ))を選択すると表示されます。

ユーザーのロールと権限の管理については、Managing ESB Resources and authorizationsTalend Identity and Access Managementをご覧ください。

[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] (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ジョブがサービスとしてラップされ、サービスへのリクエストをジョブに入力し、ジョブ結果をサービス応答として返すことができる可能性を担います。

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

制限事項

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

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

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