Carga de un archivo JSON de documentos delimitados por líneas en una recopilación
Para cargar datos de recopilaciones en la nube, primero debe almacenar sus credenciales de almacenamiento de objetos en su base de datos de IA autónoma y, a continuación, utilizar el procedimiento DBMS_CLOUD.COPY_COLLECTION para cargar documentos en una recopilación.
En este ejemplo, se cargan los valores JSON de un archivo delimitado por línea y el archivo JSON myCollection.json. Cada valor, cada línea, se carga en una recopilación de la base de datos como un único documento.
A continuación, se muestra un ejemplo de este tipo de archivo. Tiene tres líneas, con un objeto por línea. Cada uno de esos objetos se carga como un documento JSON independiente.
{ "name" : "apple", "count": 20 }
{ "name" : "orange", "count": 42 }
{ "name" : "pear", "count": 10 }Antes de cargar los datos de myCollection.json en la base de datos, copie el archivo en el almacén de objetos:
-
Crear un cubo en el almacén de objetos. Por ejemplo, cree un cubo de Oracle Cloud Infrastructure Object Storage desde el enlace de Oracle Cloud Infrastructure Object Storage y, a continuación, en el compartimento seleccionado, haga clic en Crear cubo o utilice un comando como el siguiente comando de la CLI de OCI para crear un cubo:
oci os bucket create --name fruit_bucket -c <compartment id> -
Copie el archivo JSON en el cubo del almacén de objetos. Por ejemplo, utilice el siguiente comando de la CLI de OCI para copiar el archivo JSON en
fruit_bucketen Oracle Cloud Infrastructure Object Storage:oci os object put --bucket-name fruit_bucket \ --file "myCollection.json"
Cargue el archivo JSON del almacén de objetos en una recopilación denominada fruit de la siguiente forma en la base de datos:
-
Almacene las credenciales del almacén de objetos mediante el procedimiento
DBMS_CLOUD.CREATE_CREDENTIAL, como se muestra en el siguiente ejemplo:SET DEFINE OFF BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'DEF_CRED_NAME', username => 'adb_user@example.com', password => 'password' ); END; /Esta operación almacena las credenciales en la base de datos en un formato cifrado. Puede utilizar cualquier nombre para el nombre de credencial. Tenga en cuenta que este paso solo es necesario una vez, a menos que cambien las credenciales del almacén de objetos. Una vez almacenadas las credenciales, puede utilizar el mismo nombre de credencial para cargar todos los documentos.
No es necesario crear una credencial para acceder al almacén de objetos de Oracle Cloud Infrastructure si activa las credenciales de entidad de recurso. Consulte Uso de la entidad de recurso para acceder a recursos de Oracle Cloud Infrastructure para obtener más información.
Consulte Procedimiento CREATE_CREDENTIAL para obtener información detallada sobre los parámetros.
Nota
Nota: Algunas herramientas como SQL*Plus y SQL Developer utilizan el carácter de ampersand (&) como carácter especial. Si tiene el carácter ampersand en la contraseña, utilice el comandoSET DEFINE OFFen esas herramientas, como se muestra en el ejemplo, para desactivar el carácter especial y obtener la credencial creada correctamente. -
Cargue los datos en una recopilación mediante el procedimiento
DBMS_CLOUD.COPY_COLLECTION.BEGIN DBMS_CLOUD.COPY_COLLECTION( collection_name => 'fruit', credential_name => 'DEF_CRED_NAME', file_uri_list => 'https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace-string/b/fruit_bucket/o/myCollection.json', format => JSON_OBJECT('recorddelimiter' value '''\n''') ); END; /Los parámetros son:
-
collection_name: es el nombre de la recopilación de destinos. -
credential_name: es el nombre de la credencial creada en el paso anterior. El parámetrocredential_namedebe cumplir las convenciones de nomenclatura de objetos de Oracle. Consulte Reglas de nomenclatura de objetos de base de datos para obtener más información. -
file_uri_list: es una lista delimitada por comas de los archivos del origen que desea cargar. -
format: define las opciones de las que puede especificar para describir el formato del archivo origen. Las opciones de formatocharacterset, compression, encryption, ignoreblanklines, jsonpath, maxdocsize, recorddelimiter, rejectlimit, type, unpackarraysestán soportadas al cargar datos JSON. Cualquier otro formato especificado producirá un error.Si los datos de los archivos de origen están cifrados, descifre los datos especificando el parámetro
formatcon la opciónencryption. Consulte Descifrar datos al importar desde Object Storage para obtener más información sobre el descifrado de datos.Consulte Opciones de formato de paquete DBMS_CLOUD para obtener más información.
Donde
namespace-stringes el espacio de nombres de almacenamiento de objetos de Oracle Cloud Infrastructure yfruit_bucketes el nombre del cubo. Consulte Descripción de los Espacios de Nombres de Object Storage y Visión General de Object Storage para más información.Para obtener información detallada sobre los parámetros, consulte Procedimiento COPY_COLLECTION.
La recopilación
fruitde la base de datos ahora contiene un documento para cada línea del archivomyCollection.json. -