HTTPクライアントのプロパティ
HTTP Client接続
リストからHTTP Clientを選択し、接続を設定します。
設定
リストからエンジンを選択し、メイン設定と詳細設定を行います。
| Property | 設定 |
|---|---|
| [Base URL] (ベースURL) |
アクセスしたいベースURLアドレスを入力します。 例: https://www.example.com/v1.0/ URLの2番目の部分は、HTTPクライアントのデータセット設定のPathパラメーターで設定する必要があります。 また、Data Shaping Selector Language構文を使ってプレースホルダーを定義すると、受信レコードから抽出された値で一部が動的に入力されます。例: ベースURL = "https://{.input.job_url}"、およびパス = "{.input.job_url_path}" |
| [Authentication] (認証) | サーバーのセキュリティ要件に応じて、次のいずれかの認証方法を選択します。
|
| Property | 設定 |
|---|---|
| [Connection timeout (ms)] (接続タイムアウト(ミリ秒)) |
アクセスしたいベースURLアドレスを入力します。 例: https://www.example.com/v1.0/ URLの2番目の部分は、HTTPクライアントのデータセット設定のPathパラメーターで設定する必要があります。 |
| [Read timeout (ms)] (読み取りタイムアウト(ミリ秒)) | レスポンスペイロードを受信するまでの最大待機時間をミリ秒単位で設定します。読み取る対象のデータが提供される前にタイムアウトになると、例外が発生します。 |
| [Bypass server certificate validation] (サーバー証明書の検証をバイパス) | 有効な場合、クライアントによるサーバー証明書の検証は行われません。これはあくまでテスト用なので、本番環境では無効にしておく必要があります。 |
| [Use a proxy] (プロキシを使用) |
この切り替えを有効にすると、クライアントとサーバー間の接続はHTTPかSOCKSプロキシを介して確立されます。
|
| [Retry with exponential backoff] (指数バックオフを使用して再試行) | このオプションを選択すると、失敗したHTTPコールを自動的に再試行します。選択されると、HTTPコールは、タイムアウトがある場合、またはHTTPステータスコードが400以上の場合に再試行されますが、認証エラーである401/403/511エラーは再試行されません。
次の設定の例: 初回バックオフ: 300ミリ秒、バックオフ係数: 2、最大試行回数: 4 HTTP Clientコネクターはサーバーに対して最初のGET操作(第1コール)を行います。接続タイムアウトエラーが返され、再試行メカニズムが作動し、コネクターは300ミリ秒待機します。その後、2回目(第1再試行)が行われます。503HTTPレスポンスが返されると、待機時間が2倍になり、コネクターは600ミリ秒待機します。その後、3回目(第2再試行)が行われます。500内部サーバーエラーが返されると、待機時間がさらに2倍になり、コネクターは1200ミリ秒待機します。4回目(第3再試行)が行われ、今回は成功します。追加試行は行われず、レスポンスが返されます。 |
接続を設定した後は、表示名(必須)と説明(オプション)を入力します。
HTTPクライアントデータセット
| Property | 設定 |
|---|---|
| [Dataset Name] (データセット名) | データセットの表示名を入力します。この名前はすべてのTalend Cloudアプリでデータセットの一意識別子として使われます。 |
| [Connection] (接続) | リストで接続を選択します。既存の接続に基づいてデータセットを作成する場合、このフィールドは読み取り専用となります。 |
| [Type] (タイプ) | 作成するデータセットのタイプとして、次のいずれかを選択します。
|
| Property | 設定 |
|---|---|
| [HTTP method] (HTTPメソッド) | リストでHTTPメソッドを選択し、実行するアクションを指定します。 |
| [Path] (パス) |
このデータセットが作成された接続の構成で前に設定されたURLの2番目の部分を入力します。両者を連結したものによって、このデータセットで対象としているリソースが決定されます。 ベース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にすることでパスを設定できます。 |
| [Query parameters] (クエリーパラメーター) | このオプションを有効にすると、名前-値ペアの形式で?という文字の後にクエリーURLで設定されるパラメーターを指定できます。これらの値は自動的にエンコードされています。
例: クエリーパラメーター名 = entityId、およびクエリーパラメーター値 = UUID-1234567 |
| [Request headers] (リクエストヘッダー) | このオプションを有効にすると、一部のHTTPリクエストヘッダーを名前-値ペアとして定義できます。各ヘッダーは、メインのHTTPクエリー(Main)、認証クエリー(Authentication、OAuth 2.0認証でのみ利用可能)、両方のクエリー(Both)の一部となるように定義できます。
例: ヘッダー名 = Content-Type、およびヘッダー値 = text/html;charset=utf-8 |
| [Request body] (リクエストボディ) | リクエストにメッセージボディを含めたい場合は、このオプションを有効にします。
|
| [Response body format] (レスポンスボディ形式) | ドロップダウンリストでレスポンスボディ形式を選択します。正しい形式を選択すれば、コネクターは返されたレコードを解析し、そのレコードに操作を適用できるようになります。現時点では、テキスト形式とJSON形式がサポートされています。
|
| [Extract a sub-part of the response] (レスポンスのサブ部分を抽出) | ノードのパスを入力して、レスポンスのサブエレメントを選択します。エレメントが配列である場合は、その配列の各エレメントがループされます。ノード名を入力するための構文の詳細は、Data Shaping Selector Language構文をご覧ください。 このフィールドはオプションであり、JSONレスポンス全体を取得するためには空のままにしておく必要があります。 使用例については、HTTPクライアントを使ったデータの抽出方法に関する追加情報をお読みください。 |
| [Returned content] (返されたコンテンツ) | サーバーから返されるデータに応じて、次のいずれかのオプションを選択します。
|
| [Output key/value pair] (出力キー/値のペア) | このオプションを選択すると、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 response] (レスポンスのサブ部分を抽出)オプション、[Output key/value pairs] (出力キー/値のペア)オプションを使い、取得するデータの形式とコンテンツを指定できます。詳細は、tHTTPClient: 設定と出力をご覧ください。 |
| [Forward input values] (入力値を転送) | このオプションを選択すると、コンポーネント入力から受け取った値を後続のコンポーネントに渡すことができます。 このオプションは、[Output key/value pairs] (出力キー/値のペア)が選択されている場合に利用できます。 |
| Property | 設定 |
|---|---|
| [Accept redirections] (リダイレクトを受け入れ) | このオプションを有効にすると、リソースでHTTPリダイレクトのルールが適用されます。
|
| [Pagination] (ページネーション) | ページネーション方式を有効にするためには、このオプションを選択します。ページネーション戦略の詳細は、JIRA Server platform REST API referenceのPaginationセクションをご覧ください。 なお、ページネーションはJSONペイロードとのみ互換性があります。目的のエレメントはJSONペイロード内の配列であることが必要です。 ページネーションを正しく動作させるためには、次のオプションを設定する必要があります。
|
| [Normalize the JSON HTTP response] (JSON HTTPレスポンスを正規化) | このオプションを選択すると、JSONペイロードの不整合が正規化され、コンポーネントがこれらのドキュメントを正しく解析できるようになります:
このオプションは、コンポーネントの[Basic settings] (基本設定)ビューの[Response body format] (レスポンスボディ形式)ドロップダウンリストでJSONが選択された場合に利用できます。 |
HTTPクライアントソース/デスティネーション設定
- [Die on error (status code different from 2xx)] (エラー発生時(2xxとは異なるステータスコード)):
成功しなかったHTTPレスポンスのステータスコード(2xxとは異なる)を使い、実行時にエラーを発生させたい場合はこのオプションを有効にします。このオプションはデフォルトで無効になっています。