Esporta dati JSON in storage degli oggetti cloud

Mostra i passi per esportare i dati delle tabelle da Autonomous Database nello storage degli oggetti cloud come dati JSON specificando una query.

Questo metodo di esportazione supporta tutti gli archivi degli oggetti cloud supportati da Autonomous Database ed è possibile utilizzare un principal delle risorse Oracle Cloud Infrastructure per accedere all'area di memorizzazione degli oggetti Oracle Cloud Infrastructure, ai nomi delle risorse Amazon (ARN) per accedere ad AWS Simple Storage Service (S3), a un principal del servizio Azure per accedere allo storage BLOB di Azure o allo storage Azure Data Lake oppure a un account del servizio Google per accedere alle risorse Google Cloud Platform (GCP).

  1. Connettersi all'istanza di Autonomous Database.

    Per ulteriori informazioni, consulta la sezione relativa alla connessione ad Autonomous Database.

  2. Memorizzare le credenziali dello storage degli oggetti cloud utilizzando DBMS_CLOUD.CREATE_CREDENTIAL.

    Ad esempio:

    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'user1@example.com',
        password => 'password'
      );
    END;
    /

    I valori forniti per username e password dipendono dal servizio di storage degli oggetti cloud in uso.

    La creazione di una credenziale per accedere all'area di memorizzazione degli oggetti di Oracle Cloud Infrastructure non è necessaria se si abilitano le credenziali del principal risorsa. Per ulteriori informazioni, consulta la sezione relativa all'uso del principal delle risorse per accedere alle risorse di Oracle Cloud Infrastructure.

  3. Eseguire DBMS_CLOUD.EXPORT_DATA e specificare il parametro format type con il valore json per esportare i risultati come file JSON nello storage degli oggetti cloud.
    Per generare i file di output JSON, sono disponibili due opzioni per il parametro file_uri_list:
    • Impostare il valore file_uri_list sull'URL per un bucket esistente nello storage degli oggetti cloud.

    • Impostare il valore file_uri_list sull'URL di un bucket esistente nello storage degli oggetti cloud e includere un prefisso del nome file da utilizzare durante la generazione dei nomi file per la notazione JSON esportata.

    Se non si include il prefisso del nome file nel file file_uri_list, DBMS_CLOUD.EXPORT_DATA fornisce un prefisso del nome file. Per ulteriori informazioni, vedere Denominazione dei file per l'output di testo (CSV, JSON, Parquet o XML).

    Ad esempio, quanto segue mostra DBMS_CLOUD.EXPORT_DATA con un prefisso di nome file specificato in file_uri_list:

    BEGIN
      DBMS_CLOUD.EXPORT_DATA(
        credential_name => 'DEF_CRED_NAME',
        file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/dept_export',
        query           => 'SELECT * FROM DEPT',
        format          => JSON_OBJECT('type' value 'json'));
    END;
    /

    In questo esempio, namespace-string è lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure e bucketname è il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti.

    Quando i delimitatori di record includono caratteri di escape, ad esempio \r\n o \t, racchiudere i delimitatori di record tra virgolette doppie. Ad esempio, per utilizzare il delimitatore di record \r\n, racchiudere il valore tra virgolette doppie:"\r\n".

    BEGIN
      DBMS_CLOUD.EXPORT_DATA(
        credential_name => 'DEF_CRED_NAME',
        file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/dept_export',
        query => 'SELECT * FROM DEPT',
        format => JSON_OBJECT('type' value 'json', 'recorddelimiter' value '"\r\n"' format json));
    END;
    /

    In questo esempio, namespace-string è lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure e bucketname è il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti.

    Per informazioni dettagliate sui parametri, vedere EXPORT_DATA Procedura.

    Per informazioni dettagliate sui parametri format disponibili che è possibile utilizzare con DBMS_CLOUD.EXPORT_DATA, vedere DBMS_CLOUD Opzioni formato pacchetto per EXPORT_DATA.

Note per l'esportazione con DBMS_CLOUD.EXPORT_DATA:

  • Il parametro query fornito può essere una query avanzata, se necessario, ad esempio una query che include join o subquery.

  • Specificare il parametro format con l'opzione compression per comprimere i file di output.

  • Specificare il parametro format con l'opzione encryption per cifrare i dati durante l'esportazione. Per ulteriori informazioni, vedere Cifra dati durante l'esportazione nello storage degli oggetti.

  • Quando non sono più necessari i file esportati, utilizzare la procedura DBMS_CLOUD.DELETE_OBJECT o i comandi nativi dello storage degli oggetti cloud per eliminare i file.