Supervisión de copias de seguridad de Oracle Cloud Infrastructure con funciones y Autonomous JSON
```
{
"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..*****************************"
}
}
```
Después de insertar eventos en Autonomous JSON, puede crear fácilmente una aplicación APEX que supervisará todas sus copias de seguridad de OCI en un solo lugar. Además, como administrador de OCI, puede evitar un gran número de notificaciones de correo electrónico y puede utilizar APEX para crear informes de copia de seguridad eficientes. Para activarla, debe desactivar el componente Email Delivery que se muestra en el siguiente diagrama de arquitectura.
Arquitectura
En el siguiente diagrama se ilustra la arquitectura de referencia de esta solución.

Descripción de la ilustración mon-bu-funs-auto-json-arch.png
mon-bu-funs-auto-json-arch-oracle.zip
Nota:
La instantánea de almacenamiento de archivos y la copia de seguridad de DBCS son solo dos ejemplos de esta implantación. Se ejecutará de forma similar con todos los eventos de copia de seguridad en OCI, incluidos la copia de seguridad de almacenamiento de bloques, la copia de seguridad de almacenamiento de inicio, la copia de seguridad ExaCS, etc.La arquitectura tiene los siguientes componentes:
- Región
Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes de otras regiones, y grandes distancias pueden separarlas (entre países o incluso continentes).
- Red virtual en la nube (VCN) y subredes
Una VCN es una red personalizable y definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes de los centros de datos tradicionales, las redes virtuales le proporcionan un control completo de su entorno de red. Una VCN puede tener varios bloques de CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, las cuales se pueden acotar a una región o a un dominio de disponibilidad. Cada subred está formada por un rango contiguo de direcciones que no se solapan con las demás subredes de la VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.
- Almacenamiento de archivos
El servicio Oracle Cloud Infrastructure File Storage proporciona un sistema de archivos de red duradero, ampliable, seguro y empresarial. Puede conectarse a un sistema de archivos del servicio de almacenamiento de archivos desde cualquier instancia con hardware dedicado, de máquina virtual o de contenedor. Una instantánea de almacenamiento de archivos es una copia de seguridad del sistema de archivos que puede utilizar si desea restaurarla mediante un clon.
- Database Cloud Service (DBCS)
DBCS es un servicio gestionado completo de Oracle Database. Una copia de seguridad de DBCS es una copia de seguridad de los datos que puede utilizar para restaurar la base de datos.
- Servicio de eventos de OCI
Oracle Cloud Infrastructure Events Service realiza un seguimiento de los cambios de recursos mediante eventos que cumplen con el estándar Cloud Native Computing Foundation (CNCF). Los desarrolladores pueden responder a los cambios en tiempo real disparando código con Functions, escribiendo en Streaming o enviando alertas mediante Notifications.
- Funciones de OCI
Oracle Cloud Infrastructure OCI Functions es un servicio sin servidor basado en eventos que permite a los desarrolladores crear, ejecutar y escalar aplicaciones sin aprovisionar ni gestionar ninguna infraestructura. Solo paga por los recursos utilizados cuando se ejecuta la función. Las funciones se integran con otros servicios de OCI y aplicaciones Oracle Saar. Según un marco abierto, OCI Functions se puede transferir a otros entornos locales o en la nube.
- JSON autónomo
Oracle Autonomous JSON Database es un servicio de ámbito de función para almacenar y recuperar recopilaciones de documentos JSON mediante API de SQL o documentos.
- Entrega de correo electrónico
El servicio Oracle Cloud Infrastructure Email Delivery proporciona una solución gestionada rápida y fiable para enviar correos electrónicos transaccionales y de marketing protegidos de gran volumen.
Recomendaciones
Para implementar la función, Oracle recomienda completar algunos de los LiveLabs disponibles para comprender mejor el proceso y preparar el entorno.
- Función de Oracle OCI
En primer lugar, debe familiarizarse con la implantación de funciones de OCI. Siga LiveLab, Configuración de Oracle Functions. Para acelerar el proceso, copie y pegue el código de ejemplo de oracle-functions-samples en GitHub.
- JSON autónomo
A continuación, para familiarizarse con el uso de JSON en las bases de datos Oracle, siga LiveLab, Desarrollo con JSON y SODA en Oracle Database. A continuación, siga LiveLab y Oracle Functions basada en eventos con Autonomous Data Warehouse.
- Control con APEX
Por último, aprenda a supervisar los procesos en APEX, siga LiveLabs Desarrollo con poco código con Autonomous Database.
Cuando termine LiveLab, cree una vista SQL de los eventos JSON y utilice el siguiente ejemplo de código para crear su propia aplicación de supervisión de APEX. Tenga en cuenta que esta vista es relativa a la estructura del ejemplo de evento de JSON que se muestra en "Información sobre el control de copias de seguridad de Oracle Cloud Infrastructure con funciones y Autonomous 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;
Ahora ya puede iniciar su propia implantación.