使用函數和自治式 JSON 監控 Oracle Cloud Infrastructure 備份
```
{
"eventType" : "com.oraclecloud.filestorage.createsnapshot",
"cloudEventsVersion" : "0.1",
"eventTypeVersion" : "2.0",
"source" : "FileStorage",
"eventTime" : "2022-11-23T21:30:20Z",
"contentType" : "application/json",
"data" : {
"compartmentId" : "ocid1.compartment.oc1..********************",
"compartmentName" : "ChristophePruvost",
"resourceName" : "Snapshot-20221123-2130-10",
"resourceId" : "ocid1.snapshot.oc1.********************",
"availabilityDomain" : "AD2",
"freeformTags" : { },
"definedTags" : {
"Mandatory_Tags" : {
"Owner" : "oracleidentitycloudservice/firstname.name@company.com",
"Schedule" : "OnDemand_UTC+1",
"CreatedOn" : "2022-11-23T21:30:11.405Z"
}
},
"additionalDetails" : {
"X-Real-Port" : 60458
}
},
"eventID" : "d520f88c-cd3d-4d1f-9a39-d935db5dcd8b",
"extensions" : {
"compartmentId" : "ocid1.compartment.oc1..*****************************"
}
}
```
將事件插入 Autonomous JSON 之後,您可以輕鬆建立 APEX 應用程式,以便在單一位置監控所有 OCI 備份。此外,身為 OCI 管理員,您可以避免大量的電子郵件通知,還可以使用 APEX 建立有效的備份報表。若要啟用此功能,您必須停用下列架構圖表中顯示的「電子郵件傳遞」元件。
架構
下圖說明此解決方案的參考架構。

mon-bu-funs-auto-json-arch.png 圖解描述
mon-bu-funs-auto-json-arch-oracle.zip
注意:
「檔案儲存快照」和「DBCS 備份」只是本實行的兩個範例。它的執行方式與 OCI 上的所有備份事件類似,包括區塊儲存備份、開機儲存備份、ExaCS 備份等等。架構具有下列元件:
- 區域
Oracle Cloud Infrastructure 區域是一個本地化的地理區域,包含一或多個資料中心 (稱為可用性網域)。區域與其他區域無關,因此廣大的距離可加以區隔 (跨國家或甚至洲)。
- 虛擬雲端網路 (VCN) 和子網路
VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可自訂軟體定義網路。就像傳統的資料中心網路,VCN 可讓您完全控制網路環境。VCN 可以有多個非重疊 CIDR 區塊,而您可以在建立 VCN 之後進行變更。您可以將 VCN 區隔成子網路,然後對區域或可用性網域進行調整。每個子網路都是由不與 VCN 中其他子網路重疊的連續位址範圍所組成。您可以在建立子網路後變更其大小。子網路可以是公用網路或專用子網路。
- 檔案儲存
Oracle Cloud Infrastructure File Storage 服務提供持久、可擴展、安全的企業級網路檔案系統。您可以從任何裸機、虛擬機器或容器執行處理連線至檔案儲存服務檔案系統。「檔案儲存快照」是檔案系統的備份,可在您想要回復檔案系統以進行複製時使用。
- Database Cloud Service (DBCS)
DBCS 是 Oracle Database 的完整託管服務。DBCS 備份是您可以用來回復資料庫的資料備份。
- OCI 事件服務
Oracle Cloud Infrastructure Events Service 使用符合 Cloud Native Computing Foundation (CNCF) Cloud 活動標準的事件來追蹤資源變更。開發者可以使用 Functions 觸發程式碼、寫入串流或使用 Notifications 傳送警示,即時回應變更。
- OCI 函數
Oracle Cloud Infrastructure OCI Functions 是一款無伺服器、事件導向的服務,可讓開發者建置、執行及擴展應用程式,而無需佈建或管理任何基礎架構。您只需支付函數執行時使用的資源。Functions 可與其他 OCI 服務和 Oracle Saar 應用程式整合。根據開放的架構,OCI Functions 可移植到其他雲端或內部部署環境。
- 自治式 JSON
Oracle Autonomous JSON Database 是一項功能範圍的服務,可使用 SQL 或文件 API 儲存和擷取 JSON 文件集合。
- 電子郵件傳遞
Oracle Cloud Infrastructure Email Delivery 服務提供快速可靠的託管解決方案,以發送安全、大量行銷和交易電子郵件。
建議
若要實作此功能,Oracle 建議您完成部分可用的 LiveLabs 以更加瞭解程序並準備環境。
- Oracle OCI 函數
首先,您必須熟悉 OCI Functions 的實作。遵循 LiveLab 的設定 Oracle Functions 。若要加速處理,請從 GitHub 上的 oracle-functions-samples 複製並貼上範例代碼。
- 自治式 JSON
接下來,若要熟悉在 Oracle 資料庫中使用 JSON,請按照 LiveLab 的指示進行,在 Oracle Database 中開發 JSON 和 SODA 。然後,依照 LiveLab 的 Event Driven Oracle Functions with Autonomous Data Warehouse 進行。
- 使用 APEX 監督
最後,瞭解如何監控 APEX 中的流程,遵循 LiveLabs Low Code Development with Autonomous Database 。
完成 LiveLab 之後,請建立 JSON 事件的 SQL 檢視,並使用下列程式碼範例建立自己的 APEX 監督應用程式。請注意,此視觀表與「瞭解如何使用 Functions 和 Autonomous JSON 監控 Oracle Cloud Infrastructure 備份」中顯示的 JSON 事件範例結構相關。CREATE OR REPLACE VIEW j_backup_detail_view AS SELECT ba.id, ba.created_on, ba.last_modified, ba.version, jt.* FROM backup ba, json_table(ba.json_document, '$' COLUMNS ( eventtype VARCHAR2(100) PATH '$.eventType', cloudeventsversion VARCHAR2(10) PATH '$.cloudEventsVersion', eventtypeversion VARCHAR2(10) PATH '$.eventTypeVersion', source VARCHAR2(50) PATH '$.source', compartmentid VARCHAR2(200) PATH '$.data.compartmentId', compartmentname VARCHAR2(100) PATH '$.data.compartmentName', resourcename VARCHAR2(200) PATH '$.data.resourceName', resourceid VARCHAR2(200) PATH '$.data.resourceId', availabilitydomain VARCHAR2(200) PATH '$.data.availabilityDomain' )) jt; create search index srchidx on backup (json_document) for json;現在開始自己的實作。