# データサービスタスクを作成

データサービスタスクとは実行可能な統合プロセスのことで、Talend Studioから公開されたサービスが含まれています。

## 始める前に

データサービスタスクを実行できるのは、マイクロサービスか Talend Runtime (OSGi)の実行プロファイルが設定されたRemote Engineのみです。

## このタスクについて

データサービスのデプロイとアンデプロイは、ユーザーインターフェイスで手動で行うことができます。データサービスをスケジュール化したり、プランに追加したりすることはできません。このタイプのサービスは、オペレーターが明示的にアンデプロイするまで実行し続けます。

## 手順

1. [Management] (管理)ページを開きます。
2. [Tasks] (タスク)タブに移動します。
3. ページの上部にあるファセット検索を使って環境とスペースを選択します。
4. [Add task] (タスクを追加)をクリックします。
5. [Data service] (データサービス)アーティファクトタイプを選択します。
6. 実行するアーティファクトをドロップダウンリストから選択します。

   アーティファクトの詳細と説明が表示されます。
7. タスクで使用するアーティファクトのバージョンを選択します。
8. タスクのスペースを選択します。
9. 新しいタスクに名前を付けます。

   デフォルトでは、作成元であるアーティファクトの名前がタスク名になります。

   情報メモ注: スペース内のタスクには一意名が必要です。
10. オプション: タグをタスクに追加します。
    1. 既存のタグをドロップダウンリストから選択します。
    2. 名前を入力し、ドロップダウンリストでクリックして、新しいタグを作成します。
11. オプション: タスクの説明を入力します。
12. [Continue] (続行)をクリックします。
13. [Parameters] (パラメーター)ステップで、データサービスのパラメーターに値を入力します。

    このステップで[Show order as in Studio] (Studioと同じように順序を表示)の切り替えが無効になっている場合、値を設定できるのはTalend Studioでparameter\_プレフィックスを使って定義したパラメーターのみです。

    情報メモ注: 値が特殊文字として解釈される場合(\tなど)は、\ではなく\\を使います。
14. オプション: [Advanced parameters] (詳細パラメーター)ステップで、Talend Studioでプレフィックスなしで定義したパラメーター、およびデータサービスで定義されていないconnection\_パラメーターに値を入力します。 このセクションは、[Show order as in Studio] (Studioと同じように順序を表示)の切り替えが無効になっている場合に利用できます。無効になっていない場合、パラメーターはすべて[Parameters] (パラメーター)ステップにあります。

    情報メモ注: 値が特殊文字として解釈される場合(\tなど)は、\ではなく\\を使います。
15. オプション: [Studio接続]ステップで、ドロップダウンリストから適切な接続を選択します。

    また、アーティファクトで既に定義されているパラメーターに基づいて新しい接続を作成することもできます。
16. オプション: [Studioリソース]ステップで、タスクに使用する適切なリソースを選択します。
17. [Processing] (処理)ステップで、タスクをデプロイする実行ランタイムを[Engine] (エンジン)ドロップダウンリストから選択します。
    | オプション | 説明 |
    | --- | --- |
    | Remote Engine | データサービスとルートは、そのJavaコンプライアンスバージョンと互換性があるRemote Engineでのみ実行できます。詳細は、[互換性があるJava環境](https://help.qlik.com/talend/ja-JP/installation-guide-linux/Cloud/compatible-java-environments)をご覧ください。<br><br>タスクのタイプに応じて、選択したRemote Engineに対応する実行プロファイルをエンジン作成時に設定するか、後で[Processing] (処理)ページの[Engines] (エンジン)タブでエンジンを編集して設定する必要があります。 |
    | Remote Engineクラスター | クラスターに割り当てられたRemote Engineはすべて同じバージョン(v2.8.4以降)であることが必要です。<br><br>タスクの種類によっては、クラスター内のRemote Engineに適切なマイクロサービスか Talend Runtime (OSGi)実行プロファイルが設定されている必要があります。このエンジンは、使用されているアーティファクトのバージョンと互換性があることが必要です。 |
18. オプション: Remote Engineやクラスターにマイクロサービスをデプロイする際に、実行プロファイルを選択します。

    タスク実行のJVMパラメーターは、選択したRemote Engineやクラスターのために以前作成した実行プロファイルを選択して設定できます。

    この機能はRemote Engine2.12.4以降でサポートされています。
19. [Metric Path] (メトリックパス)で、ランタイムでのリクエスト数など、メトリックデータを取得するためにデプロイメント時に使用されるメトリックパスを入力します。

    デフォルト値はアーティファクト名です。メトリックデータが[Task Details] (タスクの詳細)ページに表示されるようにするには、この値を変更しないでおくことをお勧めします。このフィールドが空の場合、このページにメトリック情報は表示されません。

    情報メモヒント: 同じ名前のアーティファクトが複数のプロジェクトに存在し、同じTalend Remote Engine/ Talend Runtime上で実行するように設定されている場合は、プロジェクト名をアーティファクト名に追加できます。
20. オプション: Remote Engineやクラスターにマイクロサービスをデプロイする時に[Run as impersonated user] (実行ユーザーとして実行)フィールドにユーザー名を入力すれば、別のユーザーとしてタスクを実行できます。

    この機能は、Unix (または同様の)環境にRemote Engineがインストールされている場合のみサポートされます。

    この機能はRemote Engine2.12.4以降でサポートされています。

    実行ユーザーの詳細は、[Talend Remote Engineの実行ユーザー化を設定](https://help.qlik.com/talend/r/ja-JP/Cloud/remote-engine-user-guide-linux/user-impersonation)をご覧ください。
21. マイクロサービスをデプロイする時は、ポートの割り当てを設定します。
    | オプション | 説明 |
    | --- | --- |
    | [Automatic] (自動) | マイクロサービスのインスタンスが実行されるポートはシステムによって定義されています。 |
    | Custom (カスタム) | マイクロサービスの全インスタンスを実行する静的なポート番号を設定できるため、外部の負荷分散が容易になります。 |
22. クラスターでタスクをデプロイするよう選択した場合は、デプロイメント戦略を選びます。
    | オプション | 説明 |
    | --- | --- |
    | Parallel (並列) | クラスターの全Remote Engineにタスクを同時にデプロイします。 |
    | Rolling (ローリング) | クラスターのRemote Engineにタスクを1つずつデプロイします。 |
23. 変更を保存します。

## タスクの結果

これで、Talend Management Consoleでタスクを実行する準備ができます。

情報メモ注:

指数関数的バックオフ再試行パターンを採用することで、1回目と2回目の再試行が高速化(最初の失敗からそれぞれ1分後と3分後)されるだけでなく、ピーク時の負荷急増の際にグローバルな動作が向上しました。

たとえば既に実行中のタスクを実行しようとすると、その実行は失敗します。 Talend Management Consoleは実行間隔を長くしながら再試行するので、最初の再試行は1分後、2回目は2分後、その後は4分後と8分後に行われます。

4回目の試行が失敗すると、Exceeded the limit of deployment attempts: another instance of the same task was running on the engine at same timeというエラーメッセージが表示されます。その場合は、後でタスクを実行し直してみてください。