> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arc.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# REST Connector

> すべてのHTTP メソッド、OAuth 2.0、ArcScript で駆動するURL とヘッダーをサポートし、RESTful API Web サービスを利用するための動的なREST リクエストを構築します。

REST コネクタは、RESTful API Web サービスを利用するための動的なREST リクエストの構築をサポートします。

## 主な機能

* すべてのHTTP メソッド（GET、POST、PUT、PATCH、DELETE）をサポートする完全なRESTful API クライアント
* API の自動設定とリクエスト生成のためのSwagger インポート機能
* OAuth 2.0、Bearer Token、AWS Signature、API Key、Basic / Digest 認証を含む高度な認証
* URL、ヘッダー、フォームデータでのArcScript サポートによる動的なリクエストの構築
* raw、form-data、URL エンコード、ファイルアップロードを含む柔軟なボディタイプ

## 概要

REST コネクタは、REST リクエストのヘッダー、認可、ボディ、HTTP メソッドを構築するためのシンプルなインターフェースを提供します。リクエストボディは、コネクタの設定で静的に設定することも、コネクタが処理するファイルに基づいて動的に生成することもできます。

### アクション

このコネクタは、3 つのコネクタアクションタイプのいずれも実行できます。

• *Trigger* は、スケジュールに基づいてrequestを実行し、フローに送信するファイルを生成する場合があります。このアクションはフローの起点として機能します。

• *Transform* は、フローからのメッセージをrequestへの入力として受け取り、出力を生成します。このアクションはフローの中間として機能します。

• *Terminal* は、フローからのメッセージをrequestへの入力として受け取り、フローの終端として機能します。

## コネクタの設定

### 設定タブ

*コネクタのコア設定に関連する設定。*

#### 設定

<table><thead><tr><th>設定</th>
<th>説明</th></tr></thead>
<tbody><tr><td>**Connector Id**</td>
<td>コネクタの静的で一意の識別子です。</td></tr>
<tr><td>**Connector Type**</td>
<td>コネクタ名とその機能の説明を表示します。</td></tr>
<tr><td>**Connector Description**</td>
<td>コネクタおよびフロー内でのその役割について自由形式の説明を提供するためのオプションフィールドです。</td></tr></tbody></table>

#### 高度な設定

| 設定 | 説明 |
| - | - |
| **Local File Scheme** | コネクタが出力するメッセージにファイル名を割り当てるためのスキームです。ファイル名にマクロを使用して、識別子やタイムスタンプなどの情報を動的に含めることができます。詳細については、[マクロ](#マクロ)を参照してください。 |

### REST Details タブ

*コネクタのリクエスト詳細に関連する設定。*

![](https://mintcdn.com/cdata-arc/fuF73A8feEsIWbbA/26.4/images/rest_details_tab.png?fit=max\&auto=format\&n=fuF73A8feEsIWbbA\&q=85\&s=d5b83dcbe8cfe959fefdc8972b714b7f)

| 設定 | 説明 |
| - | - |
| **REST Details** | コネクタが実行するアクションを選択します。（3つのオプションの詳細については、[アクション](#アクション)を参照してください。） |
| **Import from Swagger** | ![import from swagger](https://mintcdn.com/cdata-arc/fuF73A8feEsIWbbA/26.4/images/rest_import_from_swagger.png?fit=max\&auto=format\&n=fuF73A8feEsIWbbA\&q=85\&s=b74144e153de876d68d5dd25b4dab539) アイコンをクリックすると、Swagger URL から直接API の詳細をインポートできます。 |
| **Test** | フローに送信されるメッセージやトランザクションを作成せずに、現在の設定をテストします。**Test** をクリックすると、追加のタブを含むウィンドウが開きます（詳細については、[リクエスト設定のテスト](#リクエスト設定のテスト)を参照してください）。 |
| **Request URL** | REST リクエストのHTTP メソッドと送信先HTTP URL です。利用可能なメソッドのオプションは、GET、POST、PUT、PATCH、DELETE です。 |
| **Allow ArcScript in URL** | クエリが発行される前に、URL 内のArcScript 式の評価を許可するにはこれをチェックします。これを選択すると、**ArcScript エディタ**ボタンが表示され（![arcscript editor button](https://mintcdn.com/cdata-arc/fuF73A8feEsIWbbA/26.4/images/rest_arcscript_editor.png?fit=max\&auto=format\&n=fuF73A8feEsIWbbA\&q=85\&s=05d3576b0141d612fcc6e83469592e28)）、ArcScript を使用して動的なリクエストURL を構築できます。詳細については、[リクエストURL とヘッダーでのArcScript エディタの使用](#リクエストurl-とヘッダーでのarcscript-エディタの使用)を参照してください。 |
| **Body Type** | REST リクエストとともに供給されるボディコンテンツのタイプです。HTTP メソッドがGET の場合は表示されません。各オプションの説明については、[ボディ](#body)を参照してください。 |
| **Content Type** | raw データ転送に使用されるコンテンツのタイプです。**Body Type** が`raw` に設定されている場合にのみ表示されます。 |

#### Query Params

このタブを使用して、リクエストURL にクエリパラメータを追加します。パラメータを名前と値のペアとして、必要に応じて説明とともに指定します。**Save** をクリックして、パラメータでURL を更新します。

![](https://mintcdn.com/cdata-arc/JuVWSaGlKX7avH_C/26.4/images/rest_query_params.png?fit=max\&auto=format\&n=JuVWSaGlKX7avH_C\&q=85\&s=2b8d6ce30c17d2bd7cded2c0f31cbf86)

上記の画像には、2セットのクエリパラメータが含まれています。コネクタを保存すると、`api.example.com` のリクエストURL は次のようになります：`https://api.example.com/orders?status=pending&limit=50`

右側の省略記号をクリックすると、**Bulk Edit View** と**Hide Description Column** の2つのオプションを設定できます。

#### Authorization

このタブを使用して、API リクエストの認証資格情報を設定します。

| 設定 | 説明 |
| - | - |
| **Credentials** | 以前に設定したConnection から認証資格情報を供給するか、新しい接続を作成するか、または認証なしでリクエストを送信するかを指定します。 **From Connection**：これを選択し、ドロップダウンから**Connection** を選択します。**注意**：**Connection** の横にあるプラス記号をクリックして新しい接続を作成します。 **No Credentials**：認証なしでリクエストを送信するにはこれを選択します。パブリックAPI の場合や、[クエリパラメータ](#query-params)や[ヘッダー](#headers)を通じて認証を処理する場合に、このオプションを使用します。 |
| **TLS Server Certificate** | TLS サーバーのID を検証するために使用される公開鍵証明書です。証明書をアップロードするか、フィールドを空白のままにして基底のOS / JVM に証明書の検証を実行させるか、または`Any Certificate` に設定して送信先サーバーのID を信頼することができます。Any Certificate は慎重に使用してください。証明書は、意図したサーバーに接続していることを検証するものです。 |

#### Headers

このタブでは、送信するREST リクエストに含めるHTTP ヘッダーのリストを追加できます。ヘッダーも名前と値のペアとして指定します。詳細については、[静的リクエスト](#静的リクエスト)と[動的リクエスト](#動的リクエスト)を参照してください。右側の省略記号をクリックすると、**Bulk Edit View**、**Allow ArcScript in Headers**、**Show Autogenerated Headers** の3つのオプションにアクセスできます。ArcScript エディタの使用方法の詳細については、[リクエストURL とヘッダーでのArcScript エディタの使用](#リクエストurl-とヘッダーでのarcscript-エディタの使用)を参照してください。

#### Body

**Body Type** が`form-data` または`x-www-urlencoded` に設定されている場合は、**Body** タブを使用して、リクエストのボディを構成する名前と値のペア（フィールド）のセットを供給します。次のリストでは、各オプションについてより詳細に説明します。

* **none**：REST リクエストとともにボディは供給されません。
* **form-data**：ボディは名前と値のペア（フィールド）のセットとして供給されます。**Name** の横にあるドロップダウンリストを使用して、フィールドタイプを選択します。
  * **Static**：**Name** と**Value** の両方を供給します。
  * **XML**：UI で**Name** を供給します。**Value** は、コネクタが処理するインプットファイルから動的に読み取られます。詳細については、[動的フォームデータ](#動的フォームデータ)を参照してください。
  * **File**：各コネクタは、1つのボディフィールドをFile に設定できます。これにより、インプットファイルがリクエストのボディで送信されます。コネクタはインプットファイル自体をフォームデータとして使用するため、**Value** フィールドはグレーアウトされます。
  * **Header**：**Value** フィールドを使用して、ボディの読み取り元となるインプットメッセージのヘッダーを指定します。
  * **ArcScript**：供給された**Value** はArcScript としてレンダリングされ、結果の値がリクエストボディで使用されます。
* **x-www-urlencoded**：ボディはform-data と同じ方法で設定されますが、名前と値のペアはマルチパートフォームデータの代わりにURL クエリ文字列としてエンコードされます。
* **raw**：ボディは、コネクタが処理するインプットファイルの内容に設定されます。ドロップダウンを使用するか、**Header** セクションでカスタムヘッダーとして指定して、ボディの**Content Type** を選択します。

右側の省略記号をクリックすると、**Bulk Edit View** と**Show Content Type Column** の2つの設定にアクセスできます。コンテンツタイプ列を表示すると、`form-data` および`x-www-form-urlencoded` ボディタイプについて、フィールドごとにコンテンツタイプを供給できます。

#### Options

*リクエストに関連する追加の設定。*

| 設定 | 説明 |
| - | - |
| **Create an output message for error responses** | デフォルトでは、コネクタは、成功を示さないステータスコードでレスポンスが送信された場合にメッセージをフローに出力しません。この設定を有効にすると、コネクタはこれらのエラーレスポンスについてメッセージをフローに出力します。HTTP-Status-Code ヘッダーを使用して、フローの後段でメッセージをフィルタリングできます。 |
| **Compress HTTP Request** | これを有効にすると、リクエストを送信する前に、PUT またはPOST リクエストのボディを`gzip` 形式に圧縮します。送信するリクエストには**Content-Encoding** ヘッダーも追加されます。 |
| **GET Request Body** | GET リクエストがインプットメッセージのデータをリクエストのボディとして使用することを許可します。 |
| **HTTP Version** | REST サービスへの接続時にHTTP 1.0、1.1、2.0 のどれを使用するかを指定します。 |

### Advanced タブ

#### Authentication

*双方向TLS 認証が必要な場合のクライアント認証に関する設定です。*

<table><thead><tr><th>設定</th><th>説明</th></tr></thead>
<tbody><tr><td>**Private Certificate**</td>
<td>TLS クライアント認証時に提示されるプライベート証明書です。</td></tr>
<tr><td>**Certificate Password**</td>
<td>TLS クライアント証明書にアクセスするために必要なパスワードです。</td></tr></tbody></table>

#### 高度な設定

*前のカテゴリに含まれない設定。*

| 設定 | 説明 |
| - | - |
| **Chunked Encoding** | リクエストの送信時にHTTP Chunked Transfer Encoding を使用するかどうかを指定します。これにより、アプリケーションはメッセージの一部（チャンク）を順次送信して、接続への過負荷を回避できます。 |
| **Chunk Size** | **Chunked Encoding** が有効な場合の各チャンクのサイズ（バイト単位）です。 |
| **Follow Authorization Header** | 有効にすると、異なるプロトコルまたはホスト名へのリダイレクトが発生した際に認可ヘッダーを保持します。 |
| **Output Behavior** | デフォルトでは、コネクタは`Response` データを含むメッセージを出力します。他のオプションでは、さらに処理できるように`Input Message` を出力するか、メッセージをまったく出力しないようにすることができます。詳細については、[レスポンスイベント](#レスポンスイベント)を参照してください。 |
| **Timeout (seconds)** | タイムアウトエラーをスローするまでに、REST サーバーからのレスポンスを待機する秒単位の時間です。 |
| **Response Headers** | 設定すると、コネクタは指定されたヘッダーをREST メッセージから、ダウンロードされたメッセージのメタデータとして昇格します。複数のヘッダーをカンマ区切りのリストで指定できます。 |
| **Preserve Cookies** | アウトプットメッセージにクッキーを保持するには、保持するクッキー名のカンマ区切りのリストを供給します。`*` を使用するとすべてのクッキーが保持されます。**注意**：名前と値のペアのみが保持され、属性のチェックは実行されません。クッキーが意図しない送信先に漏洩しないようにする責任はユーザーにあります。 |
| **TLS Enabled Protocols** | 送信接続を確立する際にサポートされるTLS / SSL プロトコルのリストです。ベストプラクティスはTLS プロトコルのみを使用することです。SSL v2 およびSSL v3 は脆弱とみなされており、パートナーがより高いバージョンをサポートしていない場合にのみ使用してください。TLS v1.3 は普遍的に採用されているわけではなく、送信先サーバーがサポートしていない場合は拒否される可能性があることに注意してください。 |
| **Processing Delay** | **トランザクション**タブに配置されたファイルの処理を遅延させる時間（秒単位）です。これはレガシー設定です。ベストプラクティスは、この設定の代わりに[File コネクタを使用](https://docs.arc.cdata.com/26.4/self-hosted/ja/flows/designing-a-flow.md#ローカルファイルシステムとのやり取り)してローカルファイルシステムを管理することです。 |

#### Proxy Settings

これらは、接続のルーティング先となるプロキシを識別し認証するための一連の設定です。デフォルトでは、このセクションは[Security Settings](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/settings/security.md) ページの[Proxy Settings](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/settings/proxy-settings.md) 部分にあるグローバル設定を使用します。チェックボックスをオフにすると、コネクタ固有の設定を指定できます。

<table><thead><tr><th>設定</th><th>説明</th></tr></thead>
<tbody><tr><td>**Proxy Type**</td>
<td>プロキシベースのファイアウォールで使用されるプロトコル。</td></tr>
<tr><td>**Proxy Host**</td>
<td>プロキシベースのファイアウォールの名前またはIP アドレス。</td></tr>
<tr><td>**Proxy Port**</td>
<td>プロキシベースのファイアウォールのTCP ポート。</td></tr>
<tr><td>**Proxy User**</td>
<td>プロキシベースのファイアウォールで認証するために使用するユーザー名。</td></tr>
<tr><td>**Proxy Password**</td>
<td>プロキシベースのファイアウォールで認証するために使用するパスワード。</td></tr>
<tr><td>**Authentication Scheme**</td>
<td>デフォルトの**None** のままにするか、次の認証スキームのいずれかを選択します：**Basic**、**Digest**、**Proprietary**、または**NTLM**。</td></tr></tbody></table>

#### Logging

*ログの作成と保存を制御する設定です。*

<table><thead><tr><th>設定</th>
<th>説明</th></tr></thead>
<tbody><tr><td>**Log Level**</td>
<td>コネクタが生成するログの詳細度です。サポートを依頼する際は、これを**Debug** に設定してください。</td></tr>
<tr><td>**Log Subfolder Scheme**</td>
<td>選択した間隔に従って、コネクタがLogs フォルダ内のファイルをグループ化するよう指示します。**Weekly** オプション（デフォルト）は、コネクタが毎週新しいサブフォルダを作成し、その週のすべてのログをそのフォルダに保存するよう指示します。この設定を空白のままにすると、コネクタはすべてのログをLogs フォルダに直接保存します。多数のトランザクションを処理するコネクタでは、サブフォルダを使用することでログを整理しやすくなり、パフォーマンスが向上します。</td></tr>
<tr><td>**Log Messages**</td>
<td>処理したファイルのログエントリにファイル自体のコピーを含めるには、これをオンにします。これを無効にすると、**Transactions** タブからファイルのコピーをダウンロードできなくなる場合があります。</td></tr></tbody></table>

#### Miscellaneous

*Miscellaneous 設定は、特定のユースケース向けの設定です。*

<table><thead><tr><th>設定</th>
<th>説明</th></tr></thead>
<tbody><tr><td>**Other Settings**</td>
<td>非表示のコネクタ設定をセミコロン区切りのリストで設定できます（例：`setting1=value1;setting2=value2`）。通常のコネクタのユースケースや機能では、これらの設定の使用は必要ありません。</td></tr></tbody></table>

### Automation タブ

#### Automation 設定

*コネクタによるファイルの自動処理に関連する設定。*

| 設定 | 説明 |
| - | - |
| **Send** | コネクタに対して、ファイルの準備ができたら自動的に送信するよう指示するトグルです。 |
| **Retry Interval** | 送信失敗後、コネクタが再試行するまでに待機する間隔です。 |
| **Max Attempts** | コネクタがメッセージの送信を試行する回数です。この値を*1* に設定すると、コネクタは再試行せずに最初の送信試行のみを行うよう指示されます。コネクタは各試行の間に**Retry Interval** で指定された時間だけ待機します。 |
| **Receive** | コネクタに対して、設定された間隔で自動的にREST リクエストを行うよう指示するトグルです。 |
| **Interval** | コネクタが設定されたREST リクエストを行う間隔です。 |
| **毎時何分** | 毎時のスケジュールの分のオフセットです。上記の間隔設定が\_Hourly\_ に設定されている場合にのみ適用されます。例えば、この値が5に設定されている場合、オートメーションサービスは1:05、2:05、3:05 などにリクエストを送信します。 |
| **時** | 試行が行われる時刻です。上記の間隔設定が\_Daily\_、*Weekly*、または\_Monthly\_ に設定されている場合にのみ適用されます。 |
| **曜日/日付** | 試行が行われる日です。上記の間隔設定が\_Weekly\_ または\_Monthly\_ に設定されている場合にのみ適用されます。 |
| **分** | リクエストを行うまでの待機時間（分）です。上記の間隔設定が\_Minute\_ に設定されている場合にのみ適用されます。 |
| **Cron 式** | いつ試行するかを決定するcron 式を表す5つの欄の文字列です。上記の間隔設定が\_Advanced\_ に設定されている場合にのみ適用されます。 |
| **開始日時** | 自動化が最初に実行される日時です。それ以降の実行は、上記の間隔設定に従って行われます。最後の実行時刻と次回の実行時刻は、[オートメーションステータス](#オートメーションステータス)セクションに表示されます。 |

#### オートメーションステータス

*オートメーションが実行されているか、前回の実行で何が起きたか、次回の実行がいつかを示す読み取り専用のサマリです。*

**オートメーションステータス**カードは、**受信**、**ダウンロード**、**スケジュール送信**のオートメーションにおいて、**オートメーション**タブの**有効**チェックボックスの下に表示されます。このカードでは、オートメーションが実行されたか、実行が成功したか、次回の実行がいつかという3点を確認できます。

コネクタを保存する前に、**有効**チェックボックス、**間隔**、または**開始日時**の設定を変更すると、カードもそれに合わせて更新されます。

![一時停止中のステータス、失敗した最後に処理された結果、および次回の実行時刻を表示するオートメーションタブのオートメーションステータスカード](https://docs.arc.cdata.com/26.4/images/automation-status-card.png)

ステータス

コネクタのオートメーションの現在の状態です。

<table><thead><tr><th>ステータス</th>
<th>説明</th></tr></thead>
<tbody><tr><td>**進行中**</td>
<td>実行が現在行われているか、別のインスタンスがスケジュールされた枠をロックしています。</td></tr>
<tr><td>**アイドル**</td>
<td>オートメーションは次のスケジュールされた実行を待機しています。</td></tr>
<tr><td>**一時停止中**</td>
<td>実行の失敗が繰り返された後、コネクタは[バックオフ](https://docs.arc.cdata.com/26.4/self-hosted/ja/connectors/connector-backoff.md)状態にあり、オートメーションサービスはこのコネクタをスキップしています。</td></tr>
<tr><td>**無効**</td>
<td>このコネクタのオートメーションはオフになっています。</td></tr></tbody></table>

前回の実行時刻

直近の実行の結果です。

<table><thead><tr><th>フィールド</th>
<th>説明</th></tr></thead>
<tbody><tr><td>**日付**</td>
<td>前回の実行のスケジュールされた時刻。</td></tr>
<tr><td>**最後に処理された開始**</td>
<td>コネクタが前回の実行の処理を実際に開始した時刻。スケジュールされた時刻よりわずかに遅れる場合があります。</td></tr>
<tr><td>**最後に処理された結果**</td>
<td>前回の実行の結果：
<ul><li>**成功**：実行が完了し、データが処理されました。</li>
<li>**データなし**：実行は完了しましたが、クエリが行を返さなかった場合など、処理するものがありませんでした。</li>
<li>**失敗**：実行が完了しませんでした。</li></ul></td></tr>
<tr><td>**最後に成功した日時**</td>
<td>直近で成功した実行の日時。このフィールドは、前回の実行が失敗した場合またはデータなしだった場合に表示され、コネクタが成功した実行なしでどれくらい経過しているかを確認できます。</td></tr></tbody></table>

次回の実行時刻

**日付**フィールドには、次にオートメーションが実行される予定の日時が表示されます。オートメーションが無効の場合は空白になります。

詳細を表示

**一時停止中**ステータス、**失敗**の結果、および**データなし**の結果にはそれぞれ**詳細を表示**リンクがあり、クリックすると完全なメッセージを表示するダイアログが開きます：

<ul><li>**一時停止中**：バックオフ状態にある各インスタンス、失敗した回数、およびオートメーションサービスが再開する時刻を一覧表示します。コネクタがこの状態を終了する方法については、[コネクタのバックオフ](https://docs.arc.cdata.com/26.4/self-hosted/ja/connectors/connector-backoff.md)を参照してください。</li>
<li>**失敗**：前回失敗した実行のエラーメッセージを表示します。</li>
<li>**データなし**：`0 rows returned` など、コネクタが報告したメッセージを表示します。</li></ul>

未実行とデータなしの違い

このカードでは、まだ実行されていないコネクタと、実行されたものの何も見つからなかったコネクタを区別できます。**最後に処理された結果**が空の場合、オートメーションはまだ実行されていないため、**次回の実行時刻**とスケジュール設定を確認してください。結果が**データなし**の場合、オートメーションはスケジュールどおりに実行されましたが、データソースから何も返されなかったため、ソースに新しいデータがあるかどうかを確認してください。

無効なコネクタ

無効なコネクタは前回の実行情報を保持するため、いつ最後に実行され、何が起きたかを引き続き確認できます。クリアされるのは**次回の実行時刻**のみです。

#### Performance

*コネクタへのリソースの割り当てに関する設定です。*

<table><thead><tr><th>設定</th>
<th>説明</th></tr></thead>
<tbody><tr><td>**Max Workers**</td>
<td>このコネクタでファイルを処理するためにスレッドプールから消費されるワーカースレッドの最大数です。設定すると、[Advanced Settings](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/settings/advanced-settings.md) ページの[Performance Settings](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/settings/performance-settings.md) 部分にあるデフォルト設定が上書きされます。</td></tr>
<tr><td>**Max Files**</td>
<td>コネクタに割り当てられた各スレッドが送信するファイルの最大数です。設定すると、[Advanced Settings](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/settings/advanced-settings.md) ページの[Performance Settings](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/settings/performance-settings.md) 部分にあるデフォルト設定が上書きされます。</td></tr></tbody></table>

### Alerts タブ

*アラートの設定に関する設定です。*

サービスレベルアグリーメント（SLA）を実行する前に、通知用のメールアラートをセットアップする必要があります。デフォルトでは、Arc は[Alerts](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/settings/alerts.md) タブのグローバル設定を使用します。このコネクタに別の設定を使用するには、**Override global setting** をオンに切り替えます。

デフォルトではエラーアラートが有効になっており、エラーが発生するたびにメールが送信されます。これをオフにするには、**Enable** チェックボックスのチェックを外します。

**Subject**（必須）を入力します。**Allow ArcScript in Subject** をチェックすると、**Subject** フィールドでArcScript を使用できます。これを選択すると、**ArcScript エディタ**ボタンが表示されます（![arcscript editor button](https://docs.arc.cdata.com/26.4/images/rest_arcscript_editor.png)）。

必要に応じて**Recipient** のメールアドレスをカンマ区切りのリストで入力します。

### SLAs タブ

*サービスレベルアグリーメント（SLA）の設定に関する設定です。*

SLA を使用すると、フロー内のコネクタが送受信すると見込まれるボリュームを設定し、そのボリュームを達成すると見込まれる期間を設定できます。CData Arc は、SLA が達成されない場合にユーザーへ警告するメールを送信し、SLA を*At Risk* としてマークします。これは、SLA が間もなく達成されない場合に*Violated* としてマークされることを意味します。これにより、ユーザーは介入してSLA が達成されない理由を特定し、適切な対応を取る機会を得られます。At Risk 期間の終了時点でもSLA が達成されない場合、SLA はviolated としてマークされ、ユーザーに再度通知されます。

SLA が*At Risk* または*Violated* に移行したことも[アプリケーションログ](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/activity.md#アプリケーションログ)に書き込まれるため、Application Performance Monitoring（APM）やログ収集ツールでもアラートを設定できます。

SLA を定義するには、**Expected Volume** をオンに切り替え、**Settings** タブをクリックします。

![SLA Empty](https://docs.arc.cdata.com/26.4/images/sla_empty.png)
<ul><li>コネクタに送信と受信の個別のアクションがある場合は、ラジオボタンを使用してSLA がどちらの方向に適用されるかを指定します。</li>
<li>ウィンドウの**Expect at least** 部分で、次を設定します。
<ul><li>処理を見込む最小トランザクション数（ボリューム）を設定します。</li>
<li>**Every** フィールドを使用して期間を指定します。</li>
<li>SLA を有効にするタイミングを指定します。**Starting on** を選択した場合は、日付および時刻フィールドを入力します。</li>
<li>SLA を有効にしたい曜日のチェックボックスをオンにします。必要に応じて、ドロップダウンで**Everyday** を選択します。</li></ul></li>
<li>ウィンドウの**Set status to 'At Risk'** 部分で、SLA をAt Risk としてマークするタイミングを指定します。
<ul><li>デフォルトでは、SLA が違反状態になるまで通知は送信されません。これを変更するには、**Send an 'At Risk' notification** をオンにします。</li></ul></li></ul>

次の例は、月曜日から金曜日まで毎日1000 件のファイルを受信すると見込むコネクタ向けに設定されたSLA を示しています。1000 件のファイルが受信されていない場合、期間の終了の1時間前にAt Risk 通知が送信されます。

![SLA Configuration Example](https://docs.arc.cdata.com/26.4/images/sla_defined.png)

> [!NOTE]
>
> 必要に応じてSLA アラートをオフにすることができます。これはメンテナンスウィンドウ中に役立ちます。navbar で**Settings** をクリックし、**Alerts > General Alerts** に移動します。タブレットと鉛筆のアイコンをクリックして編集し、**SLA Alerts** 設定のチェックを外します。

### Transactions タブ

このタブには、コネクタに関連するすべてのメッセージが一覧表示されます。検索バーを使用して特定のメッセージを見つけるか、じょうごアイコンをクリックしてフィルタを適用します。時刻、メッセージの方向、ステータスでフィルタリングできます。

このタブのオプションは、コネクタの[アクションタイプ](#アクション)に応じて異なります：

* コネクタが**Trigger** の場合は、**Receive Files** ボタンを使用してフローを開始します。
* コネクタが**Transform** または**Terminal** の場合は、**Upload Files** ボタンを使用してファイルをフローにアップロードします。

## 接続の確立

任意のREST サービスへの接続を確立するには、有効な送信先URL が必要です。サービスURL はさまざまなHTTP メソッドをサポートでき、取得する特定のWeb サービスアクションまたはデータセットに基づいてメソッドを設定してください。サービスによっては、サービスを利用するために認証またはカスタムヘッダーのセットが必要な場合もあります。

[Authorization](#authorization) タブの**Credentials** セクションでは、接続資格情報を指定できます。次のオプションから選択します：

* **From Connection**：以前に設定したArc の共有Connection を選択するか、**Connection** フィールドの横にあるプラス記号をクリックして[接続の作成](#接続の作成)を行います。
* **No Credentials**：パブリックAPI の場合や、[クエリパラメータ](#query-params)や[ヘッダー](#headers)を通じて認証を処理する場合に使用します。送信先URL がHTTPS URL の場合は、**TLS Server Certificate** をサーバーを識別する公開鍵証明書に設定します。送信先エンドポイントを暗黙的に信頼するには、フィールドを`Any Certificate` に設定します。

### 接続の作成

新しい接続を作成するには、**From Connection** を選択し、**Connection** フィールドの横にあるプラス記号をクリックします。

* 一意の**Connection Name** を入力します。
* **Type** は常にREST に設定されます。
* **Auth Scheme** を選択します。詳細については、[認証](#認証)を参照してください。

### 認証

REST コネクタは多数の認証タイプをサポートしており、各タイプには独自の要件があります：

* Basic（プレーンテキスト）、Digest（暗号化）、NTLM には、ユーザー名とパスワードによる認証が必要です。これらの資格情報は、リクエストのヘッダーとしてREST サービスに供給されます。

* OAuth 認証には、REST サービスのWeb ポータルまたは開発コンソールでのアプリ登録が必要です。アプリ登録に含める**Callback URL** はArc のUI に表示されます。REST サービスに適用される**Grant Type** を選択し、REST サービスのWeb ポータルまたは開発コンソールに表示される詳細から残りの設定を指定します。次に、**Get New Access Token** をクリックして、サービスとやり取りするために必要なトークンを取得します。最初のトークンが取得されると、アプリケーションはトークンが有効期限に近づくとトークンを更新します。

* Bearer Token 認証には、サービスのWeb ポータルまたは開発コンソールから取得したトークンが必要です。

* AWS Signature 認証（Amazon に対する認証用）には、Amazon が提供する設定資格情報（**Access Key**、**Secret Key** など）が必要です。

* API Key 認証にはキーと値のペアが必要で、その後、キーを[ヘッダー](#headers)として追加するか[クエリパラメータ](#query-params)として追加するかを指定する必要があります。

## リクエスト設定のテスト

フローに送信されるメッセージやトランザクションを作成せずに、いつでも現在の設定をテストできます。**REST Details** タブで**Test** をクリックします。次の画像は、Trigger コネクタのテストが成功した際の**Response Body** の結果を示しています。

![](https://mintcdn.com/cdata-arc/JuVWSaGlKX7avH_C/26.4/images/rest_test_tab.png?fit=max\&auto=format\&n=JuVWSaGlKX7avH_C\&q=85\&s=3035ccb5e8f0f79e517aaf2749486784)

* **Response Body**：サーバーから返された形式でREST リクエストの出力を表示します。
* **Response Headers**：サーバーから返されたレスポンスに含まれていたレスポンスヘッダーを表示します。
* **Message Headers**：テストの出力に含まれていたメッセージヘッダーを表示します。
* **Log**：テストログを表示します。

Transform およびTerminal コネクタには、**XML**、**Headers**、**Logs** のタブを持つ**Input** ペインがあります。

* **XML** タブは、次の画像に示すように、リクエストのボディでXML フィールドを定義した場合にのみ表示されます。
* **Allow ArcScript in URL** または**Allow ArcScript in Headers** がチェックされている場合は、**Headers** タブを使用して、スクリプトのコンテキストで使用される可能性のあるメッセージヘッダーを供給します（これらのオプションの詳細については、[リクエストURL とヘッダーでのArcScript エディタの使用](#リクエストurl-とヘッダーでのarcscript-エディタの使用)を参照してください）。リクエストに`form-data` または`x-www-form-urlencoded` ボディの要素として設定された[Header](#headers) がある場合、ここにヘッダー名が表示され、テストで使用する値を供給できます。
* **Logs** タブには、最後のテストの結果が含まれます。

![](https://mintcdn.com/cdata-arc/JuVWSaGlKX7avH_C/26.4/images/rest_test_tab_transform.png?fit=max\&auto=format\&n=JuVWSaGlKX7avH_C\&q=85\&s=d88b989b4a8cd63a5504b8450fd18836)

## 静的リクエスト

完全に静的なコンテンツを持つREST リクエスト（HTTP GET メソッドを使用するリクエストなど）は、リクエストコンテンツがコネクタのUI で完全に設定されるため、インプットファイルを必要としません。必要な名前と値のペアを、**Header** セクションのカスタムヘッダーまたは**Body** セクションのフォームデータとして追加するだけです。

**受信オートメーション**が有効な場合、静的リクエストはスケジュールに従って自動的に送信できます。各リクエストへのレスポンスは、アウトプットフォルダに保存されるか、フロー内の次のコネクタに渡されます。

**送信オートメーション**が有効な場合、コネクタの**トランザクション**フォルダに到着したファイルも静的リクエストをトリガーします。インプットファイルの内容は無視され、リクエストはUI の設定に従って送信されます。

## 動的リクエスト

REST リクエストには、コネクタの**トランザクション**フォルダに到着するファイルのデータを動的に取り込むことができます。

### Raw インプットデータ

リクエストの**Body Type** を`raw` に設定すると、インプットファイルの内容がREST リクエストのボディとして送信されます。

**Content Type** ドロップダウンを使用して、データの特定のコンテンツタイプを設定します。必要なコンテンツタイプがリストにない場合は、**Header** セクションに\_Content-Type\_ ヘッダーを追加できます。

### 動的フォームデータ

リクエストの**Body Type** を`form-data` または`x-www-urlencoded` に設定すると、コネクタはインプットファイルから特定の値を探してリクエストに取り込みます。`XML` に設定された各名前と値のペアについて、コネクタはインプットファイルをスキャンして、フィールド名と同じ名前を共有し、次に示す特定のXML 構造を使用するXML 要素を探します：

```xml theme={null}
<Items>
  <FormData>
    <FieldName></FieldName>
  </FormData>
</Items>
```

この構造に合わせるため、CData は、[後述](#xml-map-を使用した動的テンプレート)のように、フロー内でREST コネクタの前にXML Map コネクタを使用することを強く推奨します。

コネクタがフィールド名と必要なXML 構造に一致する要素を見つけると、この要素内の値が名前と値のペアの値として使用されます。例えば、ボディに`CustomerID` という名前の動的フィールドがあり、インプットファイルに次のXML が含まれている場合、REST コネクタは`CustomerID` フィールドの値を12354 に設定します。

```xml theme={null}
<Items>
  <FormData>
    <CustomerID>12354</CustomerID>
  </FormData>
</Items>
```

#### XML Map を使用した動的テンプレート

[XML Map](https://docs.arc.cdata.com/26.4/self-hosted/ja/connectors/xml-map/xml-map.md) コネクタをREST コネクタと組み合わせて使用すると、他のXML データ構造から動的なリクエストを簡単に構築できます。XML Map コネクタは、カスタムXML 構造をREST コネクタが期待するXML 構造に変換します。

まず、リクエストに存在すべき動的（および静的）な**Body** フィールドのセットでREST コネクタを設定します。次に、Arc のフローでXML Map コネクタをREST コネクタに接続し、フローの変更を保存します。これにより、XML Map コネクタは、REST コネクタが受信するインプットファイルで期待するフィールドを検出できます。

その後、XML Map コネクタ内で、**Destination File** ドロップダウンにREST リクエストスキーマが含まれます。これをDestination として選択し、**Source File** をカスタムXML 構造に設定します。これによりXML Map のマッピングエディタが取り込まれ、REST リクエストに含める必要があるデータをソース構造から送信先構造にドラッグアンドドロップできます。マッピングが完了すると、XML Map コネクタは、ソースファイルに一致するファイルを有効なREST リクエスト構造に自動的に変換します。

XML Map コネクタの使用方法の詳細については、[XML Map コネクタのドキュメント](https://docs.arc.cdata.com/26.4/self-hosted/ja/connectors/xml-map/xml-map.md)を参照してください。

#### 動的ヘッダー

ArcScript の式を評価して、ヘッダー値として動的な文字列を生成することもできます。詳細と例については、[Headers](#headers) を参照してください。

## リクエストURL とヘッダーでのArcScript エディタの使用

下に示すArcScript エディタを使用して、リクエストURL とヘッダーを構築できます。次の画像はリクエストURL エディタを示していますが、ヘッダー値エディタも同じように機能します。

![](https://mintcdn.com/cdata-arc/fuF73A8feEsIWbbA/26.4/images/rest_arcscript_editor_pane.png?fit=max\&auto=format\&n=fuF73A8feEsIWbbA\&q=85\&s=081c75c0820f62bec10d66fe61180bed)

コネクタ設定ペインの[REST Details タブ](#rest-details-タブ)で**Allow ArcScript in URL** を選択すると、ArcScript の式が評価されてURL として動的な文字列が生成されます。例えば、次のURL には日付と時刻が含まれています：

`http://myendpoint.com/api?day=[_ | now('yyyyMMdd HH:mm:ss')]`

このURL には、送信オートメーションを通じてトリガーされるクエリのために、受信メッセージのヘッダーが含まれています：

`http://myendpoint.com/api?customer=[_message.header:customerid]`

最後に、このURL は、最初のクエリにはデフォルトのタイムスタンプを使用し、最後のクエリの時刻から現在のタイムスタンプまでの動的な日付範囲を使用します：

`http://myendpoint.com/api?DateFrom=[_connector.lastruntimestamp | def('2025-01-01T00:00:00-04:00')]&DateTo=[_connector.currenttimestamp]`

式を直接URL に追加することも、エディタを使用して記述することもできます。

**Allow ArcScript in Headers** を選択すると、クエリが発行される前に[ヘッダー](#headers)内のArcScript 式の評価が有効になります。例えば、次のヘッダーには日付と時刻が含まれています：

`Timestamp [_ | now('yyyyMMdd')]`

このヘッダーには、送信オートメーションを通じてトリガーされるクエリのための顧客Id が含まれています：

`Customer [_message.header:customerid]`

### メッセージヘッダー

メッセージヘッダーは、Arc がフロー全体のデータの進行状況を追跡するのに役立ちます。すべての追跡されたヘッダーはエディタの**Message Header** タブに表示され、式の中で参照できます。

エディタの**Add Message Header** フィールドを使用して既存のヘッダーの名前を指定することで、式に他のメッセージヘッダーを含めることもできます。これらは追跡されたヘッダーである必要はありません。

### Vault

**Vault** タブを使用して、[グローバル設定Vault](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/settings/global-settings-vault.md) のアイテムを式に追加します。これは、フロー全体のさまざまな場所で再利用する値がある場合に便利です。それらの値をVault で定義し、式の先頭で参照できます。マッピングでVault のアイテムの\_値\_ を使用したい場合は、角括弧内で参照する必要があることに注意してください。そうしないと、エディタはアイテムの\_名前\_ をリテラルとして解釈します。

### フォーマッタ

フォーマッタは、異なるxpath で返される値の操作をサポートします。フォーマッタは式の中でパイプ文字（|）で区切られ、左から右に評価されます。例えば：

`[xpath('City') | toupper | substring(0,3)]`

この例では、`City` xpath の値が返される前に、すべての文字列文字が大文字に変換され、最初の3文字の部分文字列が結果として返されます。例えば、ソースドキュメントが次の値を持っていたとします：

`<City>Durham</City>`

結果の式は次を返します：

`DUR`

フォーマッタは**Formatters** タブに一覧表示されます。リスト内のフォーマッタをクリックして式に追加します。

## レスポンスイベント

レスポンスイベントを使用して、サーバーから受信したレスポンス（ボディ、ヘッダー、クッキーなどを含む）とやり取りし、コネクタが生成するアウトプットメッセージを強化できます。`Response` イベントでは、次の特別なアイテムを使用できます。

* [\_cookies](https://docs.arc.cdata.com/26.4/self-hosted/ja/scripting/introduction-to-arcscript.md#http-クッキー-_cookies)
* [\_message](https://docs.arc.cdata.com/26.4/self-hosted/ja/scripting/introduction-to-arcscript.md#メッセージ-_message)
* [\_request](https://docs.arc.cdata.com/26.4/self-hosted/ja/scripting/introduction-to-arcscript.md#http-リクエスト-_request)
* [\_response](https://docs.arc.cdata.com/26.4/self-hosted/ja/scripting/introduction-to-arcscript.md#http-レスポンス-_response)

### レスポンスイベントの例

次のスクリプトは、サーバーから受信したJSON レスポンスを読み取り、JSON に含まれるアクセストークンを解析して、コネクタが作成するアウトプットメッセージにヘッダーとして追加します：

```xml theme={null}
<arc:set attr="json.text" value="[_response.body]" />
<arc:set attr="json.map:access_token" value="/json/args/token" />
<arc:call op="jsonDOMGet" item="json">
  <arc:set attr="_message.header:access_token" value="[json.access_token | def('Token not found!')]"/>
</arc:call>
```

次のステップで、何が起こるかを詳しく説明します：

1. サーバーからコネクタに返されたレスポンスのボディは、`_response.body` を介してアクセスされ、jsonDOMGet オペレーションのtext 属性に設定されます。jsonDOMGet の他の属性も取り込まれます。例えば、レスポンスボディ内の目的のトークンへのjsonpath を持つ`map` 属性などです。

2. jsonDOMGet オペレーションが呼び出されます。トークンがレスポンスJSON ボディで見つかった場合、`_message.header:access_token` 構文を介してコネクタのアウトプットメッセージにメッセージヘッダーとして追加されます。トークンが見つからない場合、`access_token` ヘッダーの値は静的な文字列：*Token not found!* に設定されます。

コネクタからのメッセージのアウトプットメッセージ詳細を表示すると、Arc ではその結果は次のように表示されます：

![](https://mintcdn.com/cdata-arc/JuVWSaGlKX7avH_C/26.4/images/rest_response_event.png?fit=max\&auto=format\&n=JuVWSaGlKX7avH_C\&q=85\&s=bf069730a3bde367d12c37d0342f298c)

このタイプのスクリプトは、リクエストを送信した後にサーバーから返された生のJSON レスポンスボディからデータを解析する必要がある場合に便利です。ヘッダーは、フロー内の後続のコネクタで読み取って使用できます。

> [!TIP]
>
> サーバーがXML を使用して応答する場合は、xmlDOMGet を使用して同じ結果を得ることができます。

## マクロ

ファイル命名戦略でマクロを使用すると、データの整理効率と文脈の理解を高めることができます。
ファイル名にマクロを組み込むことで、識別子、タイムスタンプ、ヘッダー情報などの関連情報を
動的に含めることができ、各ファイルに有用な文脈を提供します。

CData Arc は次のマクロをサポートしています。これらはすべて次の構文を使用します。`%Macro%`

<table><thead><tr><th>マクロ</th><th>説明</th></tr></thead>
<tbody><tr><td>ConnectorID</td><td>コネクタのConnectorID に評価されます。</td></tr>
<tr><td>ConnectorName</td><td>コネクタの名前に評価されます。ファイル名やパスに接続名を含めることができます。例えば、どのデータベース接続が生成したかによってバックアップファイルにタグを付けるために使用できます。</td></tr>
<tr><td>Ext</td><td>コネクタが現在処理しているファイルの拡張子に評価されます。</td></tr>
<tr><td>Filename</td><td>コネクタが現在処理しているファイルのファイル名（拡張子を含む）に評価されます。</td></tr>
<tr><td>FilenameNoExt</td><td>コネクタが現在処理しているファイルのファイル名（拡張子を除く）に評価されます。</td></tr>
<tr><td>MessageId</td><td>コネクタが出力しているメッセージのMessageId に評価されます。</td></tr>
<tr><td>RegexFilename:*pattern*</td><td>コネクタが現在処理しているファイルのファイル名に正規表現パターンを適用します。</td></tr>
<tr><td>Header:*headername*</td><td>コネクタが現在処理しているメッセージ上の対象ヘッダー（`headername`）の値に評価されます。</td></tr>
<tr><td>LongDate</td><td>システムの現在の日時を長い形式（例：Wednesday, January 24, 2024）で評価します。</td></tr>
<tr><td>ShortDate</td><td>システムの現在の日時をyyyy-MM-dd 形式（例：2024-01-24）で評価します。</td></tr>
<tr><td>DateFormat:*format*</td><td>システムの現在の日時を指定された形式（`format`）で評価します。利用可能な日時形式については、[日付形式のサンプル](https://docs.arc.cdata.com/26.4/self-hosted/ja/scripting/value-formatters/date-formatters.md#date-formats-with-literal-characters)を参照してください。</td></tr>
<tr><td>Vault:*vaultitem*</td><td>指定されたVault アイテムの値に評価されます。</td></tr></tbody></table>

### 例

%Ext% や %ShortDate% などの一部のマクロは引数を必要としませんが、引数を必要とするものもあります。
引数を取るすべてのマクロは次の構文を使用します。`%Macro:argument%`

引数を取るマクロの例を次に示します。

<ul><li>%Header:headername%：`headername` はメッセージ上のヘッダーの名前です。</li>
<li>%Header:mycustomheader% は、入力メッセージに設定された`mycustomheader` ヘッダーの値に解決されます。</li>
<li>%Header:ponum% は、入力メッセージに設定された`ponum` ヘッダーの値に解決されます。</li>
<li>%RegexFilename:pattern%：`pattern` は正規表現パターンです。例えば、`%RegexFilename:^([\w][A-Za-z]+)%` は、ファイル名の最初の単語にマッチしてそれに解決され、大文字・小文字を区別しません（`test_file.xml` は`test` に解決されます）。</li>
<li>%Vault:vaultitem%：`vaultitem` は[Vault](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/settings/global-settings-vault.md) 内のアイテムの名前です。例えば、`%Vault:companyname%` は、Vault に保存された`companyname` アイテムの値に解決されます。</li>
<li>%DateFormat:format%：`format` は許容される日付形式です（詳細は[日付形式のサンプル](https://docs.arc.cdata.com/26.4/self-hosted/ja/scripting/value-formatters/date-formatters.md#sample-date-formats)を参照してください）。例えば、`%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%` は、ファイルの日付とタイムスタンプに解決されます。</li></ul>

次の例に示すように、より高度なマクロを作成することもできます。

<ul><li>1 つのファイル名で複数のマクロを組み合わせる：`%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%%EXT%`</li>
<li>マクロの外側にテキストを含める：`MyFile_%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%`</li>
<li>マクロの内側にテキストを含める：`%DateFormat:'DateProcessed-'yyyy-MM-dd_'TimeProcessed-'HH-mm-ss%`</li></ul>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.