Créer des données d'identification et copier des données JSON dans une table existante

Utilisez DBMS_CLOUD.COPY_DATA pour charger des données JSON dans le nuage dans une table.

Le fichier source dans cet exemple est un fichier de données JSON.

  1. Stockez vos données d'identification de magasin d'objets à l'aide de la procédure DBMS_CLOUD.CREATE_CREDENTIAL. Exemple :
    SET DEFINE OFF
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@example.com',
        password => 'password'
      );
    END;
    /

    Cette opération stocke les données d'identification dans la base de données dans un format chiffré. Vous pouvez utiliser n'importe quel nom pour les données d'identification. Notez que cette étape n'est requise qu'une seule fois, sauf si les données d'identification du magasin d'objets changent. Une fois que vous avez stocké les données d'identification, vous pouvez utiliser le même nom pour tous les chargements de données.

    Pour des informations détaillées sur les paramètres, voir ProcédureCREATE_CREDENTIAL.

    La création de données d'identification pour accéder au magasin d'objets Oracle Cloud Infrastructure n'est pas requise si vous activez les données d'identification du principal de ressource. Pour plus d'informations, voir Utiliser un principal de ressource pour accéder aux ressources Oracle Cloud Infrastructure.

  2. Chargez les données JSON dans une table existante à l'aide de la procédure DBMS_CLOUD.COPY_DATA.

    Exemple :

    CREATE TABLE WEATHER2
        (WEATHER_STATION_ID VARCHAR2(20),
         WEATHER_STATION_NAME VARCHAR2(50));
    / 
    
    BEGIN 
      DBMS_CLOUD.COPY_DATA(
          table_name      => 'WEATHER2',
          credential_name => 'DEF_CRED_NAME',
          file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/jsonfiles*',
          format          =>  JSON_OBJECT('type' value 'json', 'columnpath' value '["$.WEATHER_STATION_ID",
              "$.WEATHER_STATION_NAME"]')
        );
    END;
    / 
    

    Les paramètres sont les suivants :

    • table_name : Nom de la table cible.

    • credential_name : Nom des données d'identification créées à l'étape précédente.

    • file_uri_list : Liste délimitée par des virgules des fichiers sources à charger. Vous pouvez utiliser des caractères génériques dans les noms de fichier des URI. Le caractère "*" peut être utilisé comme caractère générique pour plusieurs caractères, "?" peut être utilisé pour un seul caractère.

    • format : Pour DBMS_CLOUD.COPY_DATA avec des données JSON, type est json. Spécifiez d'autres valeurs de format pour définir les options décrivant le format du fichier source JSON. Pour plus d'informations, voir Options de format d'ensemble DBMS_CLOUD.

    Dans cet exemple, namespace-string est l'espace de noms du stockage d'objets pour Oracle Cloud Infrastructure et bucketname est le nom du seau. Pour plus d'informations, voir Présentation des espaces de noms du stockage d'objets.

    Pour des informations détaillées sur les paramètres, voir ProcédureCOPY_DATA.