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

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"のように相対パスのみを指定します。

デフォルトポートは、ビルドタイプや、サービスを実行する場所によって異なります。
  • 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以降のTalend Studioマンスリーアップデートをインストール済みである場合は、Commentカラムのパラメータータイプの後に(param-name)と追加すれば、パラメーター名で任意の文字を使用できます。このメカニズムによって、データサービスにあるTalend API DesignerからAPIをインポートする際の失敗を回避できます。API Designerで特殊文字が使われている場合は、ColumnカラムでJavaに準拠した文字に置き換えられ、Commentカラムに実際のパラメーター名が追加されます。Talend 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] (ストリーミング): 大量のデータを効率的に処理できるように、レスポンスデータをチャンク形式でストリーミングするには、このチェックボックスをオンにします。

セキュリティ

現在のサービスでセキュリティオプションを有効にするには、このチェックボックスをオンにします。次のいずれかのセキュリティスキームを選択します:

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

[JWT configuration] (JWT設定)

[Security] (セキュリティ)リストで[JWT Bearer Token] (JWT Bearerトークン)が選択されると、JWT設定オプションが表示されます。[Keystore Type] (Keystoreタイプ)リストで、次のいずれかを選択します:
  • Java Keystore (*.jks) - ローカルのJavaキーストアファイルを入力します
  • PKCS12 Keystore (*.p12、*.pfx) - PKCS12形式のローカルキーストアファイルを入力します
  • JSON Web Key Sets (JWKS) - オンラインキーセットのURLをします

Java Keystore (*.jks)またはPKCS12 Keystore (*.p12、*.pfx)の場合は、キーストアファイルの場所と関連するパスワードを、[Keystore File] (キーストアファイル)フィールドと[Keystore Password] (キーストアパスワード)フィールドにそれぞれ入力する必要があります。必要であれば、[Keystore Alias] (Keystoreエイリアス)[Audience] (オーディエンス)も設定できます。

JSON Web Key Sets (JWKS)の場合は、JWKS URLフィールドでオンラインキーセットのURLを指定する必要があります。必要であれば、[Audience] (オーディエンス)も設定できます。

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

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

このチェックボックスをオンにして、許可されたコールを有効にします。このオプションは、[Security] (セキュリティ)リストで[SAML Token] (SAMLトークン)が選択されている場合に表示されます。

ユーザーのロールと権限の管理については、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値を文字列形式に変換するには、このチェックボックスをオンにします。
[JAXRS properties] (JAXRSプロパティ) このオプションは、[Basic settings] (基本設定)タブの[Security] (セキュリティ)リストで[JWT Bearer Token] (JWT Bearerトークン)が選択されている場合に表示されます。[+]をクリックして、テーブルに必要なだけのプロパティを追加します。[Property Name] (プロパティ名)フィールドでは、ドロップダウンリストからプロパティを選択することも、リストにないプロパティ名を入力することもできます。[Property Value] (プロパティ値)フィールドにプロパティの値を入力します。JAXRSプロパティの詳細は、Apache CXFのドキュメンテーションをご覧ください。
[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のネームスペースに利用できるのは、Talend Studio内のみです。 Talend Runtimeではサポートされていません。

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

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