建立工作

「工作」功能會自動執行在必備條件區段中執行的步驟。

以下為使用工作功能建立工作的逐步範例。

  1. 在 Data Studio 工具的「工作」功能上,選取建立工作

    在「建立工作」精靈的一般設定值中,指定下列欄位值:
    • 工作名稱:輸入「工作」的名稱。例如, MY NEW JOB
    • 工作說明:輸入說明。這是選用的欄位。

      按一下下一步,即可繼續前往步驟頁籤。

  2. 新增 個步驟

    在「步驟」頁籤中,您將新增自動化程序的步驟。

    您將新增資料載入步驟、新增您建立的表格 AI 輔助處方、執行 PL/SQL 程序,以及執行 REST 呼叫作為您工作的步驟。

    附註:

    您已在先決條件區段中定義任務。



    新增資料載入步驟
    • +Add Step 下拉式清單中,選取新增資料載入
    • 在「新增資料載入」對話方塊中指定下列欄位值:

      選取資料載入:從下拉式清單中選取「資料載入」。在此範例中,其為 DATA_LOAD

      載入名稱:輸入「載入」名稱。系統會自動填入此欄位。這是標記載入時所使用的名稱。

      選取發生錯誤時停止工作

      按一下新增資料載入



      您的新步驟會顯示在「工作」的步驟清單中。按一下步驟旁的鉛筆圖示,即可編輯步驟。按一下步驟旁邊的移除圖示,即可移除選取的步驟。

    新增表格 AI 輔助處方
    • +Add Step 下拉式清單中,選取新增表格 AI 輔助處方
    • 表格 AI 輔助處方對話方塊中指定下列欄位值:

      選取表格 AI 輔助處方:從下拉式清單中選取您建立的處方。

      選取發生錯誤時停止工作

      按一下新增表格 AI 輔助處方



      您會在現有「資料載入」步驟下方看到此新步驟已新增至「步驟」清單。按一下步驟旁的鉛筆圖示,即可編輯步驟。按一下步驟旁的移除圖示,即可移除選取的步驟。

    新增程序
    • 在「步驟」頁籤的 + 新增步驟下拉式清單中,選取新增程序
    • 新增程序對話方塊中指定下列欄位值:

      PL/SQL 程序:從下拉式清單中選取您建立的任一「PL/SQL 程序」。在此範例中,選取 PRINT IT

      PL/SQL 程序引數:在此欄位中指定以逗號分隔的引數清單。您在此欄位中指定的值將會傳送至實際參數,以接受您省略之任何參數預設值的程序。這些引數將會傳送到您的 PL/SQL 程序。您的引數可以是數字、字串、布林值,或是以 $ 開頭的其中一個特殊值。在此情況下,呼叫程序時,$job_name 將變更為 My New Job

      例如,若要以 PLSQL_JOB 取代輸出中的 $job_name,您必須在此欄位中傳送 PLSQL_JOB 參數。

      選取發生錯誤時停止工作

      按一下新增程序



    新增 REST 呼叫
    • +Add Step 下拉式清單中,選取新增 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 是公用儲存桶。

      主體:此欄位指定傳送至伺服器的資料,通常位於 POSTPUT 要求中。根據 HTTP 標準, GETDELETE 要求沒有主體。

      警示:

      請勿將機密資料 (例如加密密碼、持有者記號、密碼、私密金鑰、簽署的 URL 或其他證明資料) 直接放置在工作步驟 URL、要求主體或報告組態中。這些值可以與工作定義一起儲存,稍後再擷取。使用資料庫證明資料或指定的證明資料進行認證。

      標頭:標頭應以 JSON 物件形式提供,其中 JSON 物件的每個索引鍵 / 值組都會作為要求的標頭和值。例如,{"X-My-Header": "My header value"}。此欄位指定有關要求或伺服器從屬端的其他資訊。這些標頭可以指定描述資料,例如內容類型、授權證明資料、自訂參數,以及處理要求所需的其他控制資訊。標頭通常用於 PUTPATCHPOSTDELETE 方法,以傳遞這類詳細資訊。

      選取發生錯誤時停止工作

      按一下新增步驟



      附註:

      您可以在「報表」功能表中檢視此步驟的輸出。它會顯示您從雲端儲存擷取的表格內容。

    在您先前新增的程序下方,您會在「工作步驟」清單中看到您的新步驟。按一下步驟旁的鉛筆圖示,即可編輯步驟。按一下步驟旁邊的移除圖示,即可移除選取的步驟。



    使用「建立工作」對話方塊將所有步驟加入至「工作」功能後,您將在接下來報告工作的狀態。

    按一下下一步,即可移至報表頁籤。

  3. 傳送電子郵件報表或設定 Slack 通知
    在「報表」頁標上,選取任何可用的選項,透過電子郵件或 Slack 在報表功能上傳送電子郵件更新或 Slack 通知:

    警示:

    請勿在報表組態中包含機密資料。使用資料庫證明資料或指定的證明資料進行認證。

    • 載入的資料列時:在資料載入作業期間,順利將資料列匯入或插入資料庫時,您將會收到電子郵件更新或 Slack 通知。
    • 失敗時:當工作失敗時,您將會收到電子郵件更新或 Slack 通知。
    • 在超過程式實際執行時:當工作執行的時間超過允許或設定的時間上限,且因而停止或逾時時,您將會收到電子郵件更新或 Slack 通知。
    • 拒絕的資料列數:在資料載入作業期間未成功接受或處理資料列時,您將會收到電子郵件更新或 Slack 通知。

    附註:

    若要透過電子郵件報告,請指定下列欄位值:
    • 傳送方式:從下拉式清單中選取電子郵件
    • 傳送至abc@example.com 。輸入您要接收通知的電子郵件地址。

      選取您要接收通知的事件。

    如果您想要透過 Slack 報告,請指定下列欄位值:
    • 傳送方式:從下拉式清單中選取 Slack
    • 傳送至*********** 。輸入您要接收通知之 Slack 通道的通道 ID。它會在 String 值中指定「通道 ID」。此參數為必要參數。通路 ID 是通路的唯一 ID,與通路名稱不同。在 Slack 中,當您檢視通道詳細資訊時,可以在 About 頁籤中找到通道 ID。

      選取您要接收通知的事件。

      附註:

      如果您正在執行平行工作,則必須確定只有在每次工作完成後才會關閉工作通知,否則會收到不正確的通知。

    按一下下一步,即可移至排程頁籤。

  4. 建立工作排程
    • 在「排程」頁籤上,您將定義何時執行工作以及頻率。

      啟用排程功能:選取此選項即可設定執行工作功能的排程;亦即,若要定期輪詢資料來源:
      • 在時間間隔欄位中,輸入數字,並選取要輪詢新檔案或已變更檔案儲存設定 (Bucket) 的時間類型和天數。例如,若要在星期一、星期三和星期五每兩個小時輪詢一次,請輸入 2 ,然後選取小時。You can select All Days, Monday to Friday, Sunday to Thursday, or Custom from Week Days drop-down. 「自訂」欄位可讓您在適當的欄位中選取星期一星期二星期三星期四星期五
      • 選取開始時間與結束時間的開始與結束日期。若未選取開始日期,則會使用目前時間與日期作為開始日期。結束日期是選擇性的。不過,如果沒有結束日期,即時饋送將繼續進行輪詢。


      按一下下一步,即可移至 API 詳細資訊頁籤。

  5. 手動執行工作

    使用 DBMS_SCHEDULERAPI’s 建立「工作」功能之後,即可執行該功能。

    在「建立工作」對話方塊的「API 詳細資訊」頁籤中,您可以在左側導覽功能表中檢視下列窗格:
    • 執行工作:複製 REST API 底下的敘述句,然後使用 cURL 將 GET 要求提交給 REST 資源,以執行特定工作。
      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##ADP$SERVICE.DBMS_DATA_TOOLS.RUN_JOB('My New Job');
      END;
      /

      上述範例 SQL 程式碼會執行特定的工作功能。您可以在 SQL 工作表上執行此程式碼,以執行「工作」功能。

      附註:

      「API 詳細資訊」會從目前的工作定義產生 REST、SQL 和 PL/SQL 範例。這些範例可能包含來自工作定義的機密資料。

    • 工作活動詳細資訊:此選項會顯示 REST API 和 SQL 查詢,以檢查任何進行中工作執行的狀態。例如,如果您的工作需要 10 個小時,您可以檢視工作是否在進行中、是否失敗。

      附註:

      每次從頭開始執行工作時,每個步驟的整個流程都會開始。


    按一下建立

    您將會收到一則確認訊息,表示 My New Job 已建立。

    新建立的工作將會列在工作頁面上。



    如果您已使用「工作」功能設定 Slack,在 Slack 中也會收到您在上述步驟中設定的事件通知。

    如需有關 Slack 組態的詳細資訊,請參閱 DBMS_CLOUD_NOTIFICATION 章節