tHTTPClientの標準プロパティ
これらのプロパティは、標準ジョブのフレームワークで実行されているtHTTPClientを設定するために使われます。
標準のtHTTPClientコンポーネントは、インターネットファミリーに属しています。
このフレームワーク内のコンポーネントは、すべてのサブスクリプションベースのTalend製品で使用できます。
- このコンポーネントは、Talendが提供する8.0.1-R2023-05以降のTalend Studioマンスリーアップデートをインストール済みである場合のみ利用できます。詳細は管理者にお問い合わせください。
- 現時点では、tRESTClientコンポーネントよりもtHTTPClientコンポーネントの使用をお勧めします。
基本設定
[Property type] (プロパティタイプ) | [Built-in] (組み込み)と[Repository] (リポジトリー)のいずれかです。
|
[Guess Schema] (推測スキーマ) | このボタンをクリックすると、設定に応じたスキーマを取得できます。このボタンは、[Returned content] (返されたコンテンツ)ドロップダウンリストで[Status, headers and body] (ステータス、ヘッダー、ボディ)が選択されている場合か、[Output key/value pairs] (出力キー/値のペア)が選択され、その[Output key/value pairs] (出力キー/値のペア)オプションでキー/値のペアがテーブルに設定されている場合に動作します。 HTTPサーバーからデータを取得する場合は、スキーマ、[Guess schema] (推測スキーマ)ボタン、[Response body format] (レスポンスボディ形式)オプション、[Returned content] (返されたコンテンツ)オプション、[Extract a sub-part of the JSON] (JSONのサブ部分を抽出)オプション、[Output key/value pairs] (出力キー/値のペア)オプションを使い、取得するデータの形式とコンテンツを指定できます。詳細は、tHTTPClient: 設定と出力をご覧ください。 情報メモ注: [Returned content] (返されたコンテンツ)ドロップダウンリストで[Body] (ボディ)が選択され、[Response body format] (レスポンスボディ形式)ドロップダウンリストでJSONが選択されている状態でこのボタンをクリックすると、エラーが発生します。これは、このコンポーネントが、入力された設定のみに従ってスキーマを生成し、HTTPクエリーの実行によってデータを消費したりアップデートしたりすることがないようにデザインされているためです。
|
[Schema] (スキーマ)および[Edit schema] (スキーマを編集) | スキーマとは行の説明で、処理された後に次のコンポーネントに渡されるフィールドの数を定義するものです。スキーマは[Built-in] (組み込み)か、[Repository] (リポジトリー)にリモートで保存されます。
このコンポーネントは、コンポーネントの関連設定に応じてスキーマを自動的に生成します。ただし、[Returned content] (返されたコンテンツ)ドロップダウンリストで[Body] (ボディ)を、[Response body format] (レスポンスボディ形式)ドロップダウンリストでJSONを選択した場合は、スキーマを手動で定義する必要があります。この場合、最初のレベルの属性ごとにカラムを追加し、ネスト済みJSONオブジェクトを持つ属性ではカラムタイプをStringに設定する必要があります。 以下はその例です。[Response body format] (レスポンスボディ形式)ドロップダウンリストでJSONを選択し、[Returned content] (返されたコンテンツ)ドロップダウンリストで[Body] (ボディ)を選択した場合、スキーマには、レスポンスにある次のJSONオブジェクトのaddressノードのコンテンツを保有しているString型のカラムが必要です。
スキーマには、id (Int型)、name (String型)、address (String型)というカラムを追加する必要があります。追加後、このコンポーネントはinput.address.zipcodeのようにData Shaping Selector Language (DSSL)を使ってaddressカラムからzipcodeを抽出できます。 デフォルトで、スキーマのカラムは[Response body format] (レスポンスボディ形式)オプションと[Returned content] (返されたコンテンツ)オプションの設定に応じて次のようになります。
HTTPサーバーからデータを取得する場合は、スキーマ、[Guess schema] (推測スキーマ)ボタン、[Response body format] (レスポンスボディ形式)オプション、[Returned content] (返されたコンテンツ)オプション、[Extract a sub-part of the JSON] (JSONのサブ部分を抽出)オプション、[Output key/value pairs] (出力キー/値のペア)オプションを使い、取得するデータの形式とコンテンツを指定できます。詳細は、tHTTPClient: 設定と出力をご覧ください。 スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。
|
[Sync columns] (カラムを同期) | このボタンをクリックすると、先行コンポーネントからスキーマを取得できます。 |
[Base URL] (ベースURL) | アクセスしたいHTTPサーバーのベースURLアドレス(https://www.example.com/v1.0/など)を入力します。HTTPサーバーによって提供されるWebサービスにアクセスするためには、ベースURLのアドレスとパスの両方を入力する必要があります。パスは[Path] (パス)フィールドに入力します。 また、Data Shaping Selector Language構文を使ってプレースホルダーを定義すると、受信レコードから抽出された値で一部が動的に入力されます。例: ベースURL = "https://{.input.job_url}"、およびパス = "{.input.job_url_path}" |
[Authentication type] (認証タイプ) |
サーバーのセキュリティ要件に応じて、次のいずれかの認証方法を選択します。
情報メモ注: パスワード、トークン、クライアントシークレットキーを入力するためには、該当するフィールドの横にある[...]ボタンをクリックし、[Enter a new password] (新しいパスワードを入力)ダイアログボックスを表示させ、テキストフィールドにパスワード、トークン、シークレットのいずれかを入力してOKをクリックします。[pure password] (純粋なパスワード)モードであればJSON文字列を、JavaモードであればJava式を入力できます。テキストフィールドの上部にある[switch to Java mode] (Javaモードに切り替え)または[switch to pure password mode] (純粋なパスワードに切り替え)をクリックすることで、2つのモードの間で切り替えられます。
|
[HTTP method] (HTTPメソッド) | 実行するアクションを指定するには、HTTPメソッドとしてGET、POST、HEAD、OPTIONS、PUT、PATCH、DELETE、TRACEのいずれかを選択します。 HTTPメソッドを選択するためには、このフィールドの横にある[...]ボタンをクリックし、表示されるダイアログボックスで目的のHTTPメソッドを選択します。 |
[Path] (パス) | URLの2番目の部分を入力し、[Base URL] (ベースURL)フィールドのベースURLを完成させます。ベースURLとパスは、必要であれば/という文字で結合されます。たとえばhttps://jira.talendforge.org/rest/api/2/というURLのサーバーからデータを検索するためには、このフィールドにsearchと入力します。 関連情報は[Base URL] (ベースURL)フィールドの説明をご参照ください。 また、Data Shaping Selector Language構文を使ってプレースホルダーを定義すると、受信レコードから抽出された値で一部が動的に入力されます。例: ベースURL = "https://{.input.job_url}"、およびパス = "{.input.job_url_path}" |
[Path parameters] (パスパラメーター) | このチェックボックスを選択すると、ベースURLやパスを完成させるために必要な追加パラメーターを名前と値のペアの形式で指定できます。 ベースURLやパスにプレースホルダーが含まれている場合は、このテーブルにパラメーターを追加し、次の方法でそのパラメーターに名前と値を設定すれば、そのプレースホルダーを置き換えることができます。
たとえばベースURLがhttps://www.example.comでパスが/{api_version}であれば、このテーブルにパラメーターを追加し、[Name] (名前)をapi_versionに、[Value] (値)をv1.0にすることでパスを設定できます。 |
クエリーパラメーター | このオプションを選択すると、name=valueの形式で?という文字の後にクエリーURLで設定されるパラメーターを指定できます。これらの値は自動的にエンコードされています。
例: クエリーパラメーター名 = entityId、およびクエリーパラメーター値 = UUID-1234567 |
[Request headers] (リクエストヘッダー) | このオプションを選択すると、一部のHTTPリクエストヘッダーを名前-値ペアとして定義できます。各ヘッダーは、メインのHTTPクエリー(Main)、認証クエリー(Authentication、OAuth 2.0認証でのみ利用可能)、両方のクエリー(Both)の一部となるように定義できます。
例: ヘッダー名 = Content-Type、およびヘッダー値 = text/html;charset=utf-8 |
[Request body] (リクエストボディ) | リクエストにメッセージボディを含めたい場合は、このオプションを選択します。 |
[Body type] (ボディタイプ) | ドロップダウンリストで該当するオプションを選択し、ボディタイプを設定するために使われます。
[Body type] (ボディタイプ)ドロップダウンリストは、[Request body] (リクエストぼでし)オプションを選択した場合に利用できます。 |
[Response body format] (レスポンスボディ形式) | ドロップダウンリストでレスポンスボディ形式を選択します。正しい形式を選択すれば、コネクターは返されたレコードを解析し、そのレコードに操作を適用できるようになります。現時点では、テキスト形式とJSON形式がサポートされています。
HTTPサーバーからデータを取得する場合は、スキーマ、[Guess schema] (推測スキーマ)ボタン、[Response body format] (レスポンスボディ形式)オプション、[Returned content] (返されたコンテンツ)オプション、[Extract a sub-part of the JSON] (JSONのサブ部分を抽出)オプション、[Output key/value pairs] (出力キー/値のペア)オプションを使い、取得するデータの形式とコンテンツを指定できます。詳細は、tHTTPClient: 設定と出力をご覧ください。 |
[Returned content] (返されたコンテンツ) | サーバーから返されるデータに応じて、次のいずれかのオプションを選択します。
HTTPサーバーからデータを取得する場合は、スキーマ、[Guess schema] (推測スキーマ)ボタン、[Response body format] (レスポンスボディ形式)オプション、[Returned content] (返されたコンテンツ)オプション、[Extract a sub-part of the JSON] (JSONのサブ部分を抽出)オプション、[Output key/value pairs] (出力キー/値のペア)オプションを使い、取得するデータの形式とコンテンツを指定できます。詳細は、tHTTPClient: 設定と出力をご覧ください。 情報メモ注: このオプションは、このコンポーネントの出力フローのスキーマに影響します。このドロップダウンリストで項目を選択した後、[Guess schema] (推測スキーマ)ボタンをクリックしてスキーマをアップデートすることをお勧めします。
|
[Extract a sub-part of the JSON] (JSONのサブ部分を抽出) | ノードのパスを入力して、レスポンスのサブエレメントを選択します。エレメントが配列である場合は、その配列の各エレメントがループされます。ノード名を入力するための構文の詳細は、Data Shaping Selector Language構文をご覧ください。 このフィールドはオプションであり、JSONレスポンス全体を取得するためには空のままにしておく必要があります。 次のJSONドキュメントの例:
HTTPサーバーからデータを取得する場合は、スキーマ、[Guess schema] (推測スキーマ)ボタン、[Response body format] (レスポンスボディ形式)オプション、[Returned content] (返されたコンテンツ)オプション、[Extract a sub-part of the JSON] (JSONのサブ部分を抽出)オプション、[Output key/value pairs] (出力キー/値のペア)オプションを使い、取得するデータの形式とコンテンツを指定できます。詳細は、tHTTPClient: 設定と出力をご覧ください。 このフィールドは、[Response body format] (レスポンスボディ形式)ドロップダウンリストでJSONを選択した場合に利用できます。 情報メモ注: このフィールドは、このコンポーネントの出力フローのスキーマに影響します。このフィールドを設定した後、[Guess schema] (推測スキーマ)ボタンをクリックしてスキーマをアップデートすることをお勧めします。
|
[Output key/value pairs] (出力キー/値のペア) | このオプションを選択すると、HTTPレスポンスの生のボディの代わりにキーと値のペアが返されます。ノードの値を入力するためには、テーブルの下にあるプラスボタンをクリックして行を追加し、[Name] (名前)フィールドにノードの名前を、[Value] (値)フィールドに値をそれぞれ入力します。 値はコンポーネントの入力値かHTTPレスポンスから選択できます。値がコンポーネント入力からの場合は[Value] (値)に"{.input.<dssl_path>}"と、HTTPレスポンスの場合は"{.response.<dssl_path>}"と入力します。 [Extract a sub-part of the JSON] (JSONのサブ部分を抽出)オプションの例では、[Extract a sub-part of the JSON] (JSONのサブ部分を抽出)フィールドに.contentと入力し、テーブル内に次の2つのキーと値のペアを追加すれば地質学者の名前と都市の値を取得できます。
HTTPサーバーからデータを取得する場合は、スキーマ、[Guess schema] (推測スキーマ)ボタン、[Response body format] (レスポンスボディ形式)オプション、[Returned content] (返されたコンテンツ)オプション、[Extract a sub-part of the JSON] (JSONのサブ部分を抽出)オプション、[Output key/value pairs] (出力キー/値のペア)オプションを使い、取得するデータの形式とコンテンツを指定できます。詳細は、tHTTPClient: 設定と出力をご覧ください。 情報メモ注: このオプションは、このコンポーネントの出力フローのスキーマに影響します。このオプションを使ってテーブルでキー/値のペアを設定した後、[Guess schema] (推測スキーマ)ボタンをクリックしてスキーマをアップデートすることをお勧めします。
|
[Forward input values] (入力値を転送) | このオプションを選択すると、コンポーネント入力から受け取った値を後続のコンポーネントに渡すことができます。 このオプションは、[Output key/value pairs] (出力キー/値のペア)が選択されている場合に利用できます。 |
[Download attachments] (添付ファイルをダウンロード) | このオプションを選択すると、指定されたディレクトリーにレスポンスの添付ファイルがファイルとして保存されます。[Directory to save] (保存先ディレクトリー)フィールドに、ディレクトリーへのパスを入力する必要があります。指定されたディレクトリーが存在しない場合は、コンポーネントによって作成されます。指定されたディレクトリーに対して書き込み権限があることを確認してください。 添付ファイル付きのMIMEマルチパートレスポンスでは、ボディにある添付ファイルでない最初の部分が出力レコードボディとして扱われます。添付ファイル部分はContent-Disposition=attachment;...というヘッダーでマークされ、添付ファイル名はその`name=...`値から取得されます。ヘッダーメタデータにnameフィールドが提供されていない場合、そのファイルにはサービス名(つまりPath値)を使って命名されます。Content-Disposition=attachmentヘッダーを持つパートがない場合、マルチパートの最初のパートは出力レコードのボディとして扱われ、その他のパートは添付ファイルとして扱われます。 バイナリファイルの場合、tHTTPClientコンポーネントはHTTPレスポンスボディをそのままファイルに保存します。Content-Dispositionヘッダーに名前が指定されていない場合、結果ファイルの名前はリソース名に_0というサフィックスを付けたものになります。 情報メモ注: このオプションは、Talendが提供する8.0.1 R2023-05以降のTalend Studioマンスリーアップデートをインストール済みである場合のみ利用できます。詳細は管理者にお問い合わせください。
|
詳細設定
[tStatCatcher Statistics] (tStatCatcher統計) | ジョブレベルおよび各コンポーネントレベルでジョブ処理メタデータを収集するには、このチェックボックスを選択します。 |
[Connection timeout (ms)] (接続タイムアウト(ミリ秒)) | コネクターがサーバーへの接続を確立するまでのタイムアウト期間(ミリ秒)を設定するために使われます。接続の確立に失敗した場合はエラーが発生します。 |
[Receive timeout (ms)] (受信タイムアウト(ミリ秒)) | レスポンスデータ受信のタイムアウト期間(ミリ秒)を設定するために使われます。読み取りタイムアウト期間が経過してもデータが受信されない場合は、エラーが発生します。 |
[Bypass server certificate validation] (サーバー証明書の検証をバイパス) | このオプションを選択すると、クライアントにサーバー証明書を検証させないようにできます。 このオプションは本番環境ではお勧めしません。 |
プロキシを使用 | このオプションを選択すると、HTTPやSOCKSプロキシを使用できます。
|
[Retry with exponential backoff] (指数バックオフを使用して再試行) | このオプションを選択すると、失敗したHTTPコールを自動的に再試行します。選択されると、HTTPコールは、接続エラーやタイムアウトがある場合に、またはHTTPステータスコードが400以上の場合に再試行されますが、認証エラーである401/403/511エラーは再試行されません。
次の設定の例: 初回バックオフ: 300ミリ秒、バックオフ係数: 2、最大試行回数: 4 HTTPClientコンポーネントはサーバーに対して最初のGET操作(第1コール)を行います。接続タイムアウトエラーが返され、再試行メカニズムが作動し、コンポーネントは300ミリ秒待機します。その後、2回目(第1再試行)が行われます。503HTTPレスポンスが返されると、待機時間が2倍になり、コンポーネントは600ミリ秒待機します。その後、3回目(第2再試行)が行われます。500内部サーバーエラーが返されると、待機時間がさらに2倍になり、コンポーネントは1200ミリ秒待機します。4回目(第3再試行)が行われ、今回は成功します。追加試行は行われず、レスポンスが返されます。 |
[Accept redirections] (リダイレクトを受け入れ) | このオプションを選択すると、リソースでHTTPリダイレクトのルールを適用できます。
|
[Pagination] (ページネーション) | ページネーション方式を有効にするためには、このオプションを選択します。ページネーション戦略の詳細は、JIRA Server platform REST API referenceのPaginationセクションをご覧ください。 なお、ページネーションはJSONペイロードとのみ互換性があります。目的のエレメントはJSONペイロード内の配列であることが必要です。 ページネーションを正しく動作させるためには、次のオプションを設定する必要があります。
情報メモ注: [Pagination] (ページネーション)オプションは、Talendが提供する8.0.1 R2023-05以降のTalend Studioマンスリーアップデートをインストール済みである場合のみ利用できます。詳細は管理者にお問い合わせください。
|
[Normalize the JSON HTTP response] (JSON HTTPレスポンスを正規化) | このオプションを選択すると、JSONペイロードの不整合が正規化され、コンポーネントがこれらのドキュメントを正しく解析できるようになります:
このオプションは、コンポーネントの[Basic settings] (基本設定)ビューの[Response body format] (レスポンスボディ形式)ドロップダウンリストでJSONが選択された場合に利用できます。 |
[Add attachments] (添付ファイルを追加) | ファイルを添付ファイルとしてマルチパートリクエストに追加する場合は、このオプションを選択します。このオプションを選択すると[Files to upload] (アップロードするファイル)テーブルが表示され、次のパラメーターを設定できるようになります。
[Add attachments] (添付ファイルを追加)オプションは、[Request body] (リクエストボディ)オプションを選択し、[Basic settings] (基本設定)ビューにある[Body type] (ボディタイプ)ドロップダウンリストで[Form data] (フォームデータ)を選択した場合に利用できます。 情報メモ注: このオプションは、Talendが提供する8.0.1 R2023-05以降のTalend Studioマンスリーアップデートをインストール済みである場合のみ利用できます。詳細は管理者にお問い合わせください。
|
[Force JSON numbers to "Double" type in response body] (レスポンスボディでJSON数値を倍数型に強制) | すべてのJSON数値を強制的にDouble型に変換したい場合は、このオプションを選択します。JSONでは、Integer型の数字とDouble型の数字を区別することは必ずしも可能ではありません。 たとえばDouble型しか含まないはずの地理的位置マトリクスで、項目の1つがInteger型の[47, -1.567075]として推測されてしまうことがあります。これは、コネクターがまずInteger配列を生成しようとし、次にその中にDouble型を追加しようとするため、エラーが発生しやすくなることが原因です。すべての数値を強制的にDouble型にすれば、そのようなエラーを防ぐことができます。 このオプションは、[Basic settings] (基本設定)ビューの[Response body format] (レスポンスボディ形式)ドロップダウンリストでJSONが選択された場合に利用できます。 |
[Die on error] (エラー発生時に強制終了) | レスポンスのステータスコードが2xx以外の時にジョブの実行を停止する場合は、このオプションを選択します。 |
グローバル変数
グローバル変数 |
ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。 NB_LINE: 入力コンポーネントによって読み取られた行の数、または出力コンポーネントに転送された行の数。これはAfter変数で、整数を返します。 |
使用方法
使用ルール | このコンポーネントは、データフローの中間ステップとして、またはジョブフローチャートの終了オブジェクトとして使用できます。 |
制限事項 | このコンポーネントは、tRESTRequestコンポーネントの直後には配置できません。回避策として、2つのコンポーネントの間にtMapコンポーネントを配置し、入力データを出力にコピーします。 |