ジョブの作成

ジョブ機能によって、前提条件の項で実行されたステップが自動化されます。

「ジョブ」機能を使用してジョブを作成するステップバイステップの例を次に示します。

  1. Data Studioツールのジョブ機能で、「ジョブの作成」を選択します。



    ジョブの作成ウィザードで、一般設定で次のフィールド値を指定します。
    • ジョブ名: ジョブの名前を入力します。たとえば、MY NEW JOBです。
    • ジョブ説明: 説明を入力します。このフィールドはオプションです。

      「次」をクリックして、「ステップ」タブに進みます。

  2. ステップ追加

    「ステップ」タブで、プロセスを自動化するステップを追加します。

    データ・ロード・ステップを追加し、作成した表AIアシスト・レシピを追加し、PL/SQLプロシージャを実行して、ジョブのステップとしてRESTコールを実行します。
    ノート

    「前提条件」セクションでタスクを定義済です。



    データ・ロード・ステップの追加:
    • +Addステップ・ドロップダウンで、「データ・ロードの追加」を選択します。
    • 「データ・ロードの追加」ダイアログで、次のフィールド値を指定します。

      データ・ロードの選択: ドロップダウンからデータ・ロードを選択します。この例では、DATA_LOADです。

      ロード名: ロード名を入力します。このフィールドには自動的に値が入力されます。これは、ロードにタグ付けする名前です。

      「エラー時にジョブを停止」を選択します。

      「データ・ロードの追加」をクリックします。



      新しいステップがジョブのステップのリストに表示されます。ステップを編集するには、ステップの横にある鉛筆アイコンをクリックします。選択したステップを削除するには、ステップの横にある「削除」アイコンをクリックします。

    表AI支援レシピの追加:
    • +Addステップ・ドロップダウンで、「表AIアシスト・レシピの追加」を選択します。
    • 「表AIアシスト・レシピ」ダイアログで次のフィールド値を指定します:

      表AIアシスト・レシピの選択: ドロップダウンから作成するレシピを選択します。

      「エラー時にジョブを停止」を選択します。

      「表AI支援レシピの追加」をクリックします。



      この新しいステップが、既存の「データ・ロード」ステップの下のステップのリストに追加されます。ステップを編集するには、ステップの横にある鉛筆アイコンをクリックします。選択したステップを削除するには、ステップの横にある削除アイコンをクリックします。

    プロシージャの追加
    • 「ステップ」タブの「+ステップの追加」ドロップダウンで、「プロシージャの追加」を選択します。
    • 「プロシージャの追加」ダイアログで、次のフィールド値を指定します:

      PL/SQLプロシージャ: ドロップダウンから、作成したPL/SQLプロシージャのいずれかを選択します。この例では、「PRINT IT」を選択します。

      PL/SQLプロシージャの引数: このフィールドには、引数のカンマ区切りリストを指定します。このフィールドに指定した値は、省略したパラメータのデフォルト値を受け入れるプロシージャに実際のパラメータに渡されます。これらの引数は、PL/SQLプロシージャに渡されます。引数には、数値、文字列、ブール値、または$で始まる特殊値のいずれかを指定できます。この場合、プロシージャをコールすると、$job_nameがMy New Jobに変更されます。

      たとえば、出力で$job_namePLSQL_JOBに置き換えるには、このフィールドにPLSQL_JOBパラメータを渡す必要があります。

      「エラー時にジョブを停止」を選択します。

      「プロシージャの追加」をクリックします。



    RESTコールの追加:
    • +Addステップ・ドロップダウンで、「RESTコールの追加」を選択します。
      ノート

      RESTコールを使用して様々な操作を実行できます。これらは、独自のカスタム・アプリケーション、クラウド・プロバイダまたはその他のサードパーティ・ベンダーに対して発生する可能性があります。たとえば、Oracle Cloud Infrastructure(OCI)には、https://docs.oracle.com/en-us/iaas/api/に包括的に記載された様々なエンドポイントが用意されています。このスコープは、OCIのみに限定されないことに注意してください。

      この例では、OCIのオブジェクト・ストアRESTコールをコールして、オブジェクト・ストアからファイルを読み取るエンドポイントにアクセスします。

    • ジョブ・ステップを設定するには、「RESTの追加」ダイアログで次のフィールド値を指定します:

      メソッド: GET

      このメソッドは、Oracleデータベースからデータを取得します。GETメソッドは、表からの行や問合せの結果などのデータをフェッチするために使用されます。データは変更されません。

      実行する操作に応じて、次のいずれかの方法を選択できます。
      • POST:

        このメソッドは、新しいデータを挿入するか、データを変更するプロセスを起動します。Oracleデータベースにデータを送信します。通常は、新しいレコードを作成したり、データを変更するプロシージャを実行します。

      • 削除:

        Oracleデータベースからデータを削除します。このメソッドは、パラメータまたはパス変数で識別される、表内の行などの指定されたリソースを削除します。

      • PATCH: 既存のデータを部分的に更新します。このメソッドは、レコード全体を置換せずに行の特定の列を更新するなど、リソースに部分的な変更を適用します。

      URL: アクセスするRESTサービスのオブジェクト・ストレージの場所を指定し、サーバー上の正しいリソースにリクエストを転送します。この例では、https://objectstorage.us-ashburn-1.oraclecloud.com/n/*********/*/***/**/****.csvと入力します。

      資格証明: いずれかの資格証明を選択してリクエストを認証し、REST APIリソースに安全にアクセスする権限があることを確認します。
      ノート

      「URL」はパブリック・バケットであるため、この例では資格証明が選択されていません。

      本文: このフィールドは、通常、POSTまたはPUTリクエストでサーバーに送信されるデータを指定します。GETおよびDELETEリクエストには、HTTP標準に従った本文がありません。

      ヘッダー: ヘッダーは、JSONオブジェクトの各キー/値ペアがリクエストのヘッダーおよび値として使用されるJSONオブジェクトとして指定する必要があります。たとえば、{"X-My-Header": "My header value"}です。このフィールドは、サーバーへのリクエストまたはクライアントに関する追加情報を指定します。これらのヘッダーは、コンテンツ・タイプ、認可資格証明、カスタム・パラメータ、リクエストの処理に必要なその他の制御情報などのメタデータを指定できます。通常、ヘッダーはPUTPATCHPOSTおよびDELETEメソッドで使用され、このような詳細を伝達します。

      「エラー時にジョブを停止」を選択します。

      「ステップの追加」をクリックします。



      ノート

      このステップの出力は、「レポート」メニューに表示できます。クラウド・ストレージから取得した表のコンテンツが表示されます。



    前に追加した手順の下に、新しいステップがジョブ・ステップのリストに表示されます。ステップを編集するには、ステップの横にある鉛筆アイコンをクリックします。選択したステップを削除するには、ステップの横にある「削除」アイコンをクリックします。



    「ジョブの作成」ダイアログを使用してすべてのステップをジョブ機能に追加すると、次にジョブのステータスがレポートされます。

    「次」をクリックして、「レポート」タブに進みます、

  3. Eメール・レポートの送信:
    「レポート」タブで、レポート機能の電子メール更新を電子メールで送信するために使用可能なオプションのいずれかを選択します。
    • 完了済ジョブ: ジョブの完了時に電子メール更新を受信します。
    • 失敗したジョブ: ジョブが失敗したときに電子メール更新を受信します。
    • ジョブでのエラー時: ジョブにエラーがあると、電子メール更新を受信します。
    ノート

    「次」をクリックして、「スケジュール」タブに進みます、

  4. ジョブ・スケジュールを作成:
    • 「スケジュール」タブで、ジョブを実行するタイミングと頻度を定義します。

      スケジュールに対して有効化: ジョブ機能を実行する(データ・ソースが定期的にポーリングする)ためのスケジュールを設定する場合に、このオプションを選択します:
      • 時間間隔フィールドに数値を入力し、新規または変更済のファイルについてバケットをポーリングする時間タイプと曜日を選択します。たとえば、月曜日、水曜日および金曜日に2時間ごとにポーリングするには、2と入力してから、「時間」を選択します。「すべての日」「月曜日から金曜日」「日曜日から木曜日」または「カスタム」「週曜日」ドロップダウンから選択できます。「カスタム」フィールドを使用すると、適切なフィールドに「月曜日」「火曜日」「水曜日」「木曜日」および「金曜日」を選択できます。
      • 開始日と終了日を、開始時間と終了時刻と一緒に選択します。開始日を選択しない場合、現在の日時が開始日として使用されます。終了日はオプションです。ただし、終了日がないと、ライブ・フィードはポーリングを継続します。



      「次」をクリックして、「APIの詳細」タブに進みます。

  5. ジョブの手動実行:

    ジョブ機能は、DBMS_SCHEDULERまたはAPI’sで作成した後に実行できます。

    「ジョブの作成」ダイアログの「APIの詳細」タブでは、左側のナビゲーションに次のペインを表示できます。
    • ジョブの実行: REST APIで文をコピーし、cURLを使用してRESTリソースにGETリクエストを発行することによって、特定のジョブを実行します。
      curl -u admin:<password>
            'https://*******.******.*******.oraclecloud.com:****/ords/admin/_/db-api/latest/data-tools/jobs/run'
            -X POST -H 'Content-Type: application/json;charset=UTF-8' -d '{"job_name":"My New
            Job","owner":"admin"}'

      これはサンプル・コードです。

      SQLワークシートでジョブを実行するには、「SQL」セクションに表示されている次のサンプル・コードをコピーして貼り付けます。
      begin c#***$service.dbms_data_tools.run_job('My New Job'); end;

      前述のサンプルSQLコードでは、特定のジョブ機能が実行されます。このコードをSQLワークシートで実行して、ジョブ機能を実行できます。

    • ジョブ・アクティビティ詳細: このオプションでは、進行中のジョブ実行のステータスを確認するためのREST APIおよびSQL問合せが表示されます。たとえば、ジョブに10時間かかる場合、ジョブが進行中かどうか、失敗したかどうかを確認できます。
      ノート

      ジョブが実行されるたびに、すべてのステップのフロー全体が最初から開始されます。



    「作成」をクリックします。

    My New Jobが作成されたことを示す確認メッセージが表示されます。

    新しく作成されたジョブは「ジョブ」ページにリストされます。