Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO

In questa sezione vengono descritti i sottoprogrammi DBMS_CLOUD_REPO forniti con Autonomous Database.

Argomenti correlati

Prerequisiti

Come sviluppatore, puoi utilizzare le procedure DBMS_CLOUD con Autonomous Database distribuite su Oracle Public Cloud, Multicloud o Exadata Cloud@Customer.

A seconda della scelta di distribuzione, è necessario soddisfare i seguenti prerequisiti per utilizzare le procedure DBMS_CLOUD con i provider di servizi Amazon S3, Azure Blob Storage e Google Cloud Storage.

Una connettività in uscita deve essere stata configurata mediante un gateway NAT dall'amministratore della flotta, come descritto di seguito.
  • Crea un gateway NAT nella rete cloud virtuale (VCN) in cui risiedono le tue risorse di Autonomous Database seguendo le istruzioni riportate in Crea un gateway NAT nella documentazione di Oracle Cloud Infrastructure.
  • Dopo aver creato il gateway NAT, aggiungere una regola di instradamento e una regola di sicurezza di uscita a ogni subnet (nella VCN) in cui risiedono le risorse di Autonomous Database in modo che queste risorse possano utilizzare il gateway per ottenere una chiave pubblica dall'istanza di Azure AD:
    1. Andare alla pagina Dettagli subnet per la subnet.
    2. Nella scheda Informazioni subnet, fare clic sul nome della tabella di instradamento della subnet per visualizzare la relativa pagina Dettagli tabella di instradamento.
    3. Nella tabella delle regole di instradamento esistenti, verificare se esiste già una regola con le seguenti caratteristiche:
      • Data: 0.0.0.0/0
      • Tipo di destinazione: gateway NAT
      • Destinazione: il nome del gateway NAT appena creato nella VCN

      Se la regola non esiste, fare clic su Aggiungi regole di instradamento e aggiungere una regola di instradamento con queste caratteristiche.

    4. Tornare alla pagina Dettagli subnet per la subnet.
    5. Nella tabella Elenchi di sicurezza della subnet, fare clic sul nome della lista di sicurezza della subnet per visualizzare la relativa pagina Dettagli lista di sicurezza.
    6. Nel menu laterale, in Risorse, fare clic su Regole di uscita.
    7. Nella tabella delle regole di uscita esistenti, verificare se esiste già una regola con le seguenti caratteristiche:
      • Tipo di destinazione: CIDR
      • Data: 0.0.0.0/0
      • Protocollo IP: TCP
      • Intervallo porte di origine: 443
      • Intervallo di porte di destinazione: tutte

      Se una regola di questo tipo non esiste, fare clic su Aggiungi regole di uscita e aggiungere una regola di uscita con queste caratteristiche.

Le impostazioni del proxy HTTP nell'ambiente devono consentire al database di accedere al provider di servizi cloud.

Queste impostazioni vengono definite dall'amministratore della flotta durante la creazione dell'infrastruttura Exadata Cloud@Customer, come descritto in Uso della console per eseguire il provisioning di Exadata Database Service su Cloud@Customer.

Nota

La configurazione di rete, incluso il proxy HTTP, può essere modificata solo fino a quando lo stato dell'infrastruttura Exadata non è Richiede attivazione. Una volta attivato, non è possibile modificare tali impostazioni.

L'impostazione di un proxy HTTP per un'infrastruttura Exadata già fornita richiede una richiesta di servizio (SR) in My Oracle Support. Per informazioni dettagliate, vedere Create a Service Request in My Oracle Support.

CREATE_BRANCH Procedura

Questa procedura crea una diramazione nel repository di codici cloud identificata dall'argomento handle repo.

Sintassi

PROCEDURE DBMS_CLOUD_REPO.CREATE_BRANCH(
    repo               IN   CLOB,
    branch_name        IN   VARCHAR2,
    parent_branch_name IN   VARCHAR2 DEFAULT NULL,
    parent_commit_id   IN   VARCHAR2 DEFAULT NULL
 );

Parametri

Parametro Descrizione
repo

Specifica l'handle del repository.

Questo parametro è obbligatorio e supportato per tutti i provider cloud.

branch_name

Specifica il nome della diramazione del repository.

Questo parametro è obbligatorio e supportato per tutti i provider cloud.

parent_branch_name

Crea il nuovo ramo utilizzando il commit principale del ramo padre specificato.

Questo parametro è supportato per tutti i provider cloud.

Se non si specifica un valore parent_branch_name, parent_branch_name viene impostato su main.

parent_commit_id

Crea la nuova diramazione utilizzando il commit del repository specificato.

Questo parametro è supportato per tutti i provider cloud.

Se non si fornisce un valore parent_commit_id, parent_commit_id viene impostato su un valore NULL.

Esempio

Nota

Per creare una diramazione in un repository di codici cloud, è necessario specificare la diramazione padre o l'ID commit padre.
BEGIN
  DBMS_CLOUD_REPO.CREATE_BRANCH (
    repo                 => l_repo,
    branch_name          => 'test_branch',
    parent_branch_name   => 'main'
    );
END;
/

Nota per l'uso

Per eseguire la procedura DBMS_CLOUD_REPO.CREATE_BRANCH, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio EXECUTE su DBMS_CLOUD_REPO.

CREATE_REPOSITORY Procedura

Questa procedura crea un repository di codici cloud identificato dall'argomento handle repo.

Sintassi

PROCEDURE DBMS_CLOUD_REPO.CREATE_REPOSITORY(
      repo                 IN   CLOB,
      description          IN   CLOB     DEFAULT NULL,
      private              IN   BOOLEAN  DEFAULT TRUE
);

Parametri

Parametro Descrizione
repo Specifica l'handle del repository.

Questo parametro è supportato per tutti i provider cloud.

description Breve descrizione del testo per il repository.

Questo parametro è supportato per il provider cloud GITHUB e AWS.

private

Il repository è privato e accessibile solo con credenziali valide

Questo parametro è supportato solo per il provider cloud GITHUB.

Esempio

BEGIN
  DBMS_CLOUD_REPO.CREATE_REPOSITORY(
    repo        => l_repo,
    description => 'My test repo',
    private => TRUE
    );
END;
/

DELETE_BRANCH Procedura

Questa procedura elimina una diramazione nel repository di codici cloud identificata dall'argomento handle repo.

Sintassi

PROCEDURE DBMS_CLOUD_REPO.DELETE_BRANCH (
      repo              IN  CLOB, 
      branch_name       IN  VARCHAR2  DEFAULT NULL
 );

Parametri

Parametro Descrizione
repo Specifica l'handle del repository.

Questo parametro è obbligatorio e supportato per tutti i provider cloud.

branch_name Eliminare la diramazione da un repository specifico.

Questo parametro è obbligatorio e supportato per tutti i provider cloud.

Esempio

BEGIN
  DBMS_CLOUD_REPO.DELETE_BRANCH (
      repo        => l_repo,
      branch_name => 'test_branch'
  );
END;
/

Nota per l'uso

Per eseguire la procedura DBMS_CLOUD_REPO.DELETE_BRANCH, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio EXECUTE su DBMS_CLOUD_REPO.

DELETE_FILE Procedura

Questa procedura elimina un file dal repository di codici cloud identificato dall'argomento handle repo.

Sintassi

PROCEDURE DBMS_CLOUD_REPO.DELETE_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      commit_details    IN  CLOB      DEFAULT NULL
);

Parametri

Parametro Descrizione
repo Specifica l'handle del repository.
file_path Percorso del file per eliminare il file nel repository.
branch_name Elimina il file da una diramazione specifica.
commit_details

Dettagli commit come documento JSON

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

Esempio

BEGIN
  DBMS_CLOUD_REPO.DELETE_FILE(
      repo        => l_repo,
      file_path   => 'scripts/test3.sql',
      branch_name => 'test_branch'
  );
END;
/

DELETE_REPOSITORY Procedura

Questa procedura elimina il repository di codici cloud identificato dall'argomento handle repo.

Sintassi

PROCEDURE DBMS_CLOUD_REPO.DELETE_REPOSITORY(
      repo           IN   CLOB
);

Parametri

Parametro Descrizione
repo Specifica l'handle del repository.

Esempio

BEGIN
  DBMS_CLOUD_REPO.DELETE_REPOSITORY(
       repo => l_repo
  );
END;
/

EXPORT_OBJECT Procedura

Questa procedura carica i metadati DDL di un oggetto di database nel repository di codici cloud identificato dall'argomento handle repo. Questa procedura consente di caricare la definizione dei metadati di un oggetto di database in un unico passo.

Sintassi

PROCEDURE DBMS_CLOUD_REPO.EXPORT_OBJECT(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      object_type       IN  VARCHAR2,
      object_name       IN  VARCHAR2 DEFAULT NULL,
      object_schema     IN  VARCHAR2 DEFAULT NULL,
      branch_name       IN  VARCHAR2 DEFAULT NULL,
      commit_details    IN  CLOB     DEFAULT NULL,
      append            IN  BOOLEAN  DEFAULT FALSE
);

Parametri

Parametro Descrizione
repo Specifica l'handle del repository.
file_path Percorso file per caricare i metadati dell'oggetto nel repository.
object_type

Tipo di oggetto supportato da DBMS_METADATA. Per ulteriori informazioni, vedere DBMS_METADATA: Tabella Tipi di oggetto in Oracle Database 19c PL/SQL Packages and Types Reference o Oracle Database 23ai PL/SQL Packages and Types Reference.

object_name Nome dell'oggetto di database per recuperare i metadati.
object_schema Schema proprietario dell'oggetto di database.
branch_name Inserire il file in una diramazione specifica.
commit_details

Dettagli commit come documento JSON:{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

append Aggiungi DDL metadati a file esistente.

Nota per l'uso

Per il controllo personalizzato sull'oggetto DDL, è possibile utilizzare DBMS_METADATA.GET_DDL insieme a DBMS_CLOUD_REPO.PUT_FILE. Per ottenere la definizione dei metadati dell'oggetto, è necessario che l'utente corrente disponga dei privilegi necessari per recuperare i metadati dell'oggetto. Per i requisiti di sicurezza del package, vedere DBMS_METADATA in Oracle Database 19c PL/SQL Packages and Types Reference o Oracle Database 23ai PL/SQL Packages and Types Reference.

Esempio

BEGIN
  DBMS_CLOUD_REPO.EXPORT_OBJECT(
     repo        => l_repo,
     object_type => 'PACKAGE',
     object_name => 'MYPACK',
     file_path   => 'mypack.sql'
  );
END;
/

EXPORT_SCHEMA Procedura

Questa procedura esporta i metadati di tutti gli oggetti in uno schema nel ramo Repository di codici cloud identificato dall'argomento di handle repo.

Sintassi

PROCEDURE DBMS_CLOUD_REPO.EXPORT_SCHEMA(
     repo            IN CLOB,
     file_path       IN VARCHAR2,
     schema_name     IN VARCHAR2,
     filter_list     IN CLOB         DEFAULT NULL,
     branch_name     IN VARCHAR2     DEFAULT NULL,
     commit_details  IN CLOB         DEFAULT NULL
);

Parametri

Parametro Descrizione
repo

Specifica l'handle del repository.

Questo parametro è obbligatorio e supportato per tutti i provider cloud.

file_path

Specifica il nome del file di schema da caricare nel repository.

Questo parametro è obbligatorio e supportato per tutti i provider cloud.

schema_name

Specifica il nome dello schema per il quale deve essere caricato uno script DDL nella diramazione del repository di codici cloud.

Questo parametro è obbligatorio e supportato per tutti i provider cloud.

filter_list

Specifica il CLOB dell'array JSON che definisce le condizioni di filtro per includere o escludere gli oggetti i cui metadati devono essere esportati.

Questo parametro è supportato per tutti i provider cloud.

I parametri JSON per filter_list sono:
  • match_type: specifica il tipo di filtro da applicare ai tipi di oggetto o ai nomi di oggetto.

    I valori match_type validi sono i seguenti:
    • in/not_in

    • like/not_like

    • equal/not_equal

  • type: specifica il tipo di oggetto da filtrare.

  • name: specifica il nome dell'oggetto da filtrare.

branch_name

Specifica il nome della diramazione del repository.

Questo parametro è supportato per tutti i provider cloud.

Se non si fornisce un valore branch_name, branch_name viene impostato sulla diramazione del repository predefinita.

commit_details

Dettagli commit come documento JSON

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

Questo parametro è supportato per tutti i provider cloud.

Se non si fornisce un valore commit_details, commit_details viene impostato sul messaggio di commit predefinito che include le informazioni sull'utente della sessione del database corrente e sul nome del database che esegue il commit.

Esempio

BEGIN
  DBMS_CLOUD_REPO.EXPORT_SCHEMA(
    repo          => l_repo,
    schema_name   => 'USER1',
    file_path     => 'myschema_ddl.sql'
    filter_list   =>
        to_clob('[    
             { "match_type":"equal",
                 "type":"table"
             },
             { "match_type":"not_equal",
                 "type":"view"
             },
             { "match_type":"in",
                 "type":"table",
                 "name": " ''EMPLOYEE_SALARY'',''EMPLOYEE_ADDRESS'' "
             },
             { "match_type":"equal",
                 "type":"sequence",
                 "name": "EMPLOYEE_RECORD_SEQ"
             },
             { "match_type":"like",
                 "type":"table",
                 "name": "%OFFICE%"
             }    
        ]'
     );
  );
END;
/

Nota per l'uso

Per eseguire la procedura DBMS_CLOUD_REPO.EXPORT_SCHEMA, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio EXECUTE su DBMS_CLOUD_REPO.

GET_FILE Procedura e funzione

La funzione scarica il contenuto di un file dal repository Cloud Code. La procedura consente di scaricare il contenuto di un file dal repository Cloud Code e di salvare il file in una directory.

Sintassi

FUNCTION DBMS_CLOUD_REPO.GET_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_name       IN  VARCHAR2  DEFAULT NULL
) RETURN CLOB;
 
PROCEDURE DBMS_CLOUD_REPO.GET_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      directory_name    IN  VARCHAR2,
      target_file_name  IN  VARCHAR2  DEFAULT NULL,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_name       IN  VARCHAR2  DEFAULT NULL
);

Parametri

Parametro Descrizione
repo Specifica l'handle del repository.
file_path Percorso del file nel repository.
directory_name Nome oggetto directory per salvare il contenuto del file.
target_file_name Nome del file di destinazione per salvare i contenuti nella directory.
branch_name Recupera il file da una diramazione specifica.
tag_name Recupera il file da una tag specifica.
commit_name Recupera il file da un commit specifico.

Esempio

BEGIN
  DBMS_CLOUD_REPO.GET_FILE(
     repo             =>  l_repo,
     file_path        => 'test3.sql',
     directory_name   => 'DATA_PUMP_DIR',
     target_file_name => 'test2.sql'
  );
END;
/

Funzione INIT_AWS_REPO

Questa funzione inizializza un handle di repository AWS e restituisce un tipo opaco.

Sintassi

FUNCTION DBMS_CLOUD_REPO.INIT_AWS_REPO(
      credential_name IN  VARCHAR2,
      repo_name       IN  VARCHAR2,
      region          IN  VARCHAR2
)  RETURN repo;

Parametri

Parametro Descrizione
credential_name

Oggetto credenziale che specifica la chiave di accesso/chiave segreta AWS CodeCommit.

repo_name Specifica il nome del repository.
region Specifica l'area AWS per il repository CodeCommit.

Esempio

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_AWS_REPO(
                 credential_name => 'AWS_CRED',
                 repo_name       => 'my_repo',
                 region          => 'us-east-1'
           );
END;
/  

Funzione INIT_AZURE_REPO

Questa funzione inizializza un handle del repository di Azure e restituisce un tipo opaco. Questa funzione è supportata solo per il provider cloud di Azure.

Sintassi

FUNCTION DBMS_CLOUD_REPO.INIT_AZURE_REPO(
      credential_name IN  VARCHAR2,
      repo_name       IN  VARCHAR2,
      organization    IN  VARCHAR2,
      project         IN  VARCHAR2
)  RETURN repo;

Parametri

Parametro Descrizione
credential_name

Oggetto delle credenziali che specifica Azure, con un nome utente e un token di accesso personale (PAT).

repo_name Specifica il nome del repository.
organization Specifica l'organizzazione DevOps di Azure.
project Nome del progetto del team Azure.

Esempio

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_AZURE_REPO(
                 credential_name => 'AZURE_CRED',
                 repo_name       => 'my_repo',
                 organization    => 'myorg',
                 project         => 'myproj',
           );
END;
/

Funzione INIT_GITHUB_REPO

Questa funzione inizializza un handle di repository GitHub e restituisce un tipo opaco.

Sintassi

FUNCTION DBMS_CLOUD_REPO.INIT_GITHUB_REPO(
      credential_name IN  VARCHAR2  DEFAULT NULL,
      repo_name       IN  VARCHAR2,
      owner           IN  VARCHAR2) 
RETURN repo;

Parametri

Parametro Descrizione
credential_name

Oggetto credenziale che specifica GitHub.

E-mail utente e token di accesso personale (PAT).

repo_name Specifica il nome del repository.
owner Specifica il proprietario del repository.

Esempio

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_GITHUB_REPO(
                 credential_name => 'GITHUB_CRED',
                 repo_name       => 'my_repo',
                 owner           => 'foo'
           );
END;
/  

Funzione INIT_REPO

Questa funzione inizializza un handle del repository di codici cloud e restituisce un oggetto JSON opaco. Questa funzione è un'interfaccia generica per accettare un documento JSON ed evita di dover modificare il codice. È sufficiente modificare un documento JSON quando si sposta un repository di codici da un repository di codici cloud a un altro repository di codici cloud.

Sintassi

FUNCTION DBMS_CLOUD_REPO.INIT_REPO(
     params      IN   CLOB)
RETURN CLOB;

Parametri

Parametro JSON Descrizione
provider

Provider di repository di codici cloud dai seguenti elementi:

DBMS_CLOUD_REPO.GITHUB_REPO ('GITHUB')

DBMS_CLOUD_REPO.AWS_REPO ('AWS')

DBMS_CLOUD_REPO.AZURE_REPO ('AZURE')
repo_name Specifica il nome del repository. DBMS_CLOUD_REPO.PARAM_REPO_NAME
owner GitHub Proprietario del repository. DBMS_CLOUD_REPO.PARAM_OWNER

Questo parametro è applicabile solo per il provider cloud GitHub.

region Area repository AWS DBMS_CLOUD_REPO_PARAM_REGION

Questo parametro è applicabile solo per il provider cloud AWS.

organization Organizzazione Azure DBMS_CLOUD_REPO_PARAM_ORGANIZATION

Questo parametro è applicabile solo per il provider cloud di Azure.

project Progetto team Azure DBMS_CLOUD_REPO_PARAM_PROJECT

Questo parametro è applicabile solo per il provider cloud di Azure

Esempio

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_REPO(
          params => JSON_OBJECT('credential_name' value 'mycred',
                        'repo_name'       value 'myrepo',
                        'repo_owner'      value 'foo')
       );
END;
/

INSTALL_FILE Procedura

Questa procedura installa le istruzioni SQL da un file nel repository Cloud Code identificato dall'argomento handle repo.

Sintassi

PROCEDURE DBMS_CLOUD_REPO.INSTALL_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_name       IN  VARCHAR2  DEFAULT NULL,
      stop_on_error     IN  BOOLEAN   DEFAULT TRUE
);

Parametri

Parametro Descrizione
repo Specifica l'handle del repository.
file_path Percorso del file nel repository.
branch_name Diramazione per installare il file da una diramazione specifica.
tag_name Tag per installare il file da una tag specifica.
commit_name ID commit per installare il file da un commit specifico.
stop_on_error Arrestare l'esecuzione delle istruzioni SQL al primo errore.

Note sull'uso

  • È possibile installare istruzioni SQL contenenti istruzioni SQL nidificate da un file di repository di Cloud Code utilizzando gli elementi riportati di seguito.

    • @: include un file SQL con un percorso relativo alla ROOT del repository.

    • @@: include un file SQL con un percorso relativo al file corrente.

  • Gli script sono intesi come script di installazione dello schema e non come script SQL generici:

    • Gli script non possono contenere comandi specifici del client SQL*Plus.
    • Gli script non possono contenere bind variable o script con parametri.
    • Le istruzioni SQL devono essere terminate con una barra su una nuova riga (/).
    • Gli script possono contenere istruzioni DDL e DML PLSQL, ma le istruzioni SELECT dirette non sono supportate. È supportato l'uso di SELECT all'interno di un blocco PL/SQL.

    Qualsiasi istruzione SQL che può essere eseguita utilizzando EXECUTE IMMEDIATE funzionerà se non contiene bind variable o definizioni.

Esempio

BEGIN
     DBMS_CLOUD_REPO.INSTALL_FILE(
         repo          => l_repo,
         file_path     => 'test3.sql',
         stop_on_error => FALSE
     );
END;
/

INSTALL_SQL Procedura

Questa procedura installa le istruzioni SQL da un buffer fornito come input.

Sintassi

PROCEDURE DBMS_CLOUD_REPO.INSTALL_SQL(
      content           IN  CLOB,
      stop_on_error     IN  BOOLEAN  DEFAULT TRUE
);

Parametri

Parametro Descrizioni
content CLOB contenente le istruzioni SQL da eseguire.
stop_on_error Arrestare l'esecuzione delle istruzioni SQL al primo errore.

Note sull'uso

  • Gli script sono intesi come script di installazione dello schema e non come script SQL generici:

    • Gli script non possono contenere comandi specifici del client SQL*Plus.
    • Gli script non possono contenere bind variable o script con parametri.
    • Le istruzioni SQL devono essere terminate con una barra su una nuova riga (/).
    • Gli script possono contenere istruzioni DDL e DML PLSQL, ma le istruzioni SELECT dirette non sono supportate. È supportato l'uso di SELECT all'interno di un blocco PL/SQL.

    Qualsiasi istruzione SQL che può essere eseguita utilizzando EXECUTE IMMEDIATE funzionerà se non contiene bind variable o definizioni.

Esempio

BEGIN
  DBMS_CLOUD_REPO.INSTALL_SQL(
      content   => 'create table t1 (x varchar2(30))' || CHR(10) || '/',
      stop_on_error => FALSE
  );
END;
/

Funzione LIST_BRANCHES

Questa funzione elenca i rami nel ramo Cloud Code Repository identificato dall'argomento handle repo.

Sintassi

FUNCTION DBMS_CLOUD_REPO.LIST_BRANCHES(
    repo           IN   CLOB
) RETURN list_branch_ret_tab PIPELINED PARALLEL_ENABLE;

Parametri

Parametro Descrizione
repo Specifica l'handle del repository.

Questo parametro è obbligatorio e supportato per tutti i provider cloud.

Esempio

SELECT * FROM DBMS_CLOUD_REPO.LIST_BRANCHES (repo => l_repo);

Note sull'uso

  • Funzione di tabella con pipeline con tipo restituito list_branch_ret_tab.

  • DBMS_CLOUD_REPO.LIST_BRANCHES restituisce la colonna name, che indica il nome della diramazione del repository di codici cloud.

Funzione LIST_COMMITS

Questa funzione elenca i commit nella diramazione Cloud Code Repository identificata dall'argomento handle repo.

Sintassi

FUNCTION DBMS_CLOUD_REPO.LIST_COMMITS(
      repo              IN  CLOB,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      file_path         IN  VARCHAR2 DEFAULT NULL,
      commit_id         IN  VARCHAR2  DEFAULT NULL
) RETURN list_commit_ret_tab PIPELINED PARALLEL_ENABLE;

Parametri

Parametro Descrizione
repo Specifica l'handle del repository.

Questo parametro è obbligatorio e supportato per tutti i provider cloud.

branch_name Elenca i commit da una diramazione specifica.

Questo parametro è supportato per tutti i provider cloud.

Se non si specifica un valore branch_name, branch_name viene impostato su main.

file_path Elenca i file nel percorso della sottocartella specificato nel repository.

Questo parametro è supportato solo per i provider cloud Git e Azure.

Se non si fornisce un valore file_path, file_path viene impostato su un valore NULL.

commit_id Elenca i file a partire dal file sha/id specificato

Questo parametro è supportato per tutti i provider cloud.

Se non si fornisce un valore commit_id, commit_id viene impostato su un valore NULL.

Esempio

SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS(repo => l_repo);

Esempio

SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS (
    repo        => l_repo,
    commit_id   => '66dd2b23b74cd0afabd11af66c6aa9c550540ba6',
    file_path   => 'sub_dir/test11.sql'
);

Note sull'uso

  • Funzione di tabella con pipeline con tipo restituito list_commit_ret_tab.

  • DBMS_CLOUD_REPO.LIST_COMMITS restituisce la colonna: commit_id.

Funzione LIST_FILES

Questa funzione scarica un file dal repository Cloud Code. Facoltativamente, è possibile accedere al contenuto del file da una diramazione, un tag o un nome di commit specifici. Per impostazione predefinita, l'accesso al file viene eseguito dalla diramazione del repository predefinita. I risultati includono i nomi dei file e metadati aggiuntivi relativi ai file.

Sintassi

FUNCTION DBMS_CLOUD_REPO.LIST_FILES(
      repo              IN  CLOB,
      path              IN  VARCHAR2  DEFAULT NULL,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_id         IN  VARCHAR2  DEFAULT NULL
) RETURN list_file_ret_tab PIPELINED PARALLEL_ENABLE;

Parametri

Parametro Descrizione
repo Specifica l'handle del repository.
path Elenca i file nel percorso della sottocartella specificato nel repository.
branch_name Elenca i file da una diramazione specifica.
tag_name Elenca i file da una tag specifica.
commit_name Elenca i file da un commit specifico.

Note sull'uso

  • Funzione di tabella con pipeline con tipo restituito list_file_ret_tab.

  • DBMS_CLOUD_REPO.LIST_FILES restituisce le colonne: id, name, url e bytes.

Esempio

SELECT name FROM DBMS_CLOUD_REPO.LIST_FILES(repo => l_repo);

NAME
-------------------------
test3.sql

Funzione LIST_REPOSITORIES

Questa funzione elenca tutti i repository di codici cloud identificati dall'argomento handle repo. I risultati includono i nomi dei repository e metadati aggiuntivi relativi ai repository.

Sintassi

FUNCTION DBMS_CLOUD_REPO.LIST_REPOSITORIES(
      repo                 IN   CLOB
) RETURN list_repo_ret_tab PIPELINED PARALLEL_ENABLE;

Parametri

Parametro Descrizione
repo Specifica l'handle del repository.

Questo parametro è supportato da tutti i provider cloud.

description Breve descrizione del testo per il repository.

Questo parametro è supportato dai provider cloud GITHUB e AWS.

private

Il repository è privato e accessibile solo con credenziali valide

Questo parametro è supportato per il provider cloud GITHUB.

Note sull'uso

  • Funzione di tabella con pipeline con tipo restituito list_repo_ret_tab.

  • DBMS_CLOUD_REPO.LIST_REPOSITORIES restituisce le colonne: id, name, owner, description, private, url, bytes, created e last_modified.

Esempio

SELECT name description FROM DBMS_CLOUD_REPO.LIST_REPOSITORIES(:repo);

NAME                  DESCRIPTION
--------------------- ---------------
TestRepo1             My test repo

MERGE_BRANCH Procedura

Questa procedura unisce una diramazione del repository a un'altra diramazione specificata nel repository di codici cloud identificato dall'argomento handle repo. La procedura MERGE_BRANCH non è attualmente supportata in Azure.

Sintassi

PROCEDURE DBMS_CLOUD_REPO.MERGE_BRANCH (
    repo               IN   CLOB,
    branch_name        IN   VARCHAR2,
    parent_branch_name IN   VARCHAR2 DEFAULT NULL,
    commit_details     IN   CLOB      DEFAULT NULL
 );

Parametri

Parametro Descrizione
repo

Specifica l'handle del repository.

Questo parametro è obbligatorio e supportato per i provider cloud GITHUB e AWS.

branch_name

Specifica il nome della diramazione Git da unire.

Questo parametro è obbligatorio e supportato per tutti i provider cloud.

target_branch_name

Specifica il nome della diramazione di destinazione in cui eseguire l'unione.

Questo parametro è obbligatorio e supportato per tutti i provider cloud.

commit_details

Dettagli commit come documento JSON

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

Se non si fornisce un valore commit_details, commit_details viene impostato sul messaggio di commit predefinito che include le informazioni sull'utente della sessione del database corrente e sul nome del database che esegue il commit.

Esempio

BEGIN
  DBMS_CLOUD_REPO.MERGE_BRANCH (
    repo               => l_repo,
    branch_name        => 'test_branch',
    target_branch_name => 'main'
    );
END;
/

Nota per l'uso

Per eseguire la procedura DBMS_CLOUD_REPO.MERGE_BRANCH, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio EXECUTE su DBMS_CLOUD_REPO.

PUT_FILE Procedura

Questa procedura carica un file nel repository di codici cloud identificato dall'argomento handle repo. La procedura è sovraccarica per supportare il caricamento di un file da un oggetto directory o il caricamento del contenuto da un BLOB nel file del repository.

Sintassi

PROCEDURE DBMS_CLOUD_REPO.PUT_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      contents          IN  BLOB,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      commit_details    IN  CLOB      DEFAULT NULL
);
 
PROCEDURE DBMS_CLOUD_REPO.PUT_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      directory_name    IN  VARCHAR2,
      source_file_name  IN  VARCHAR2  DEFAULT NULL,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      commit_details    IN  CLOB      DEFAULT NULL
);

Parametri

Parametro Descrizione
repo Specifica l'handle del repository.
file_path Percorso file per il caricamento del file nel repository.
contents BLOB che contiene il contenuto del file.
directory_name Nome oggetto directory che contiene il nome file.
source_file_name Nome del file di origine da caricare nel repository.
branch_name Inserire il file in una diramazione specifica.
commit_details

Dettagli commit come documento JSON:

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

Esempio

BEGIN
  DBMS_CLOUD_REPO.PUT_FILE(
     repo   => l_repo,
  );
END;
/

UPDATE_REPOSITORY Procedura

Questa procedura aggiorna un repository di codici cloud identificato dall'argomento handle repo. UPDATE_REPOSITORY supporta l'aggiornamento del nome, della descrizione o dello stato di visibilità privata, come supportato dal repository Cloud Code.

Sintassi

PROCEDURE DBMS_CLOUD_REPO.UPDATE_REPOSITORY(
      repo                 IN OUT  CLOB,
      new_name             IN      VARCHAR2 DEFAULT NULL,
      description          IN      CLOB     DEFAULT NULL,
      private              IN      BOOLEAN  DEFAULT NULL
);

Parametri

Parametro Descrizione
repo Specifica l'handle del repository.

Questo parametro è supportato per tutti i provider cloud.

new_name Nuovo nome del repository.

Questo parametro è supportato per tutti i provider cloud.

description Breve descrizione del testo per il repository.

Questo parametro è supportato per i provider cloud GITHUB e AWS.

private

Il repository è privato e accessibile solo con credenziali valide.

Questo parametro è supportato per il provider cloud GITHUB.

Esempio

BEGIN
  DBMS_CLOUD_REPO.UPDATE_REPOSITORY(
     repo        => l_repo,
     new_name    => 'repo2'
  );
END;
/