ジョブの作成

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

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

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



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

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

  2. ステップの追加

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

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

    ノート:

    タスクは、「前提条件」ですでに定義されています。



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

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

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

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

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



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

    表AI支援レシピの追加:
    • 「+ステップの追加」ドロップダウンで、「表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コールの追加:
    • 「+ステップの追加」ドロップダウンで、「RESTコールの追加」を選択します。

      ノート:

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

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

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

      メソッド: GET

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

      実行する操作に応じて、次のいずれかのメソッドを選択できます:
      • POST:

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

      • DELETE:

        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. 電子メール・レポートの送信:
    「レポート」タブで、レポート機能に関する電子メール更新を電子メールで送信するために使用可能なオプションのいずれかを選択します:
    • ジョブの完了時: ジョブの完了時に電子メール更新を受信します。
    • ジョブの失敗時: ジョブの失敗時に電子メール更新を受信します。
    • ジョブのエラー時: ジョブのエラー時に電子メール更新を受信します。

    ノート:

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

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

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



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

  5. ジョブの手動による実行:

    ジョブ機能は、作成後にDBMS_SCHEDULERまたはAPIを使用して実行できます。

    「ジョブの作成」ダイアログの「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が作成されたことを示す確認メッセージが表示されます。

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