Resumo de Subprogramas DBMS_CLOUD_REPO
Esta seção abrange os subprogramas DBMS_CLOUD_REPO fornecidos com o Autonomous AI Database.
O pacote DBMS_CLOUD_REPO é composto por:
- Operações de Inicialização DBMS_CLOUD_REPO
- Operações de Gerenciamento de Repositório DBMS_CLOUD_REPO
- Operações de Arquivo DBMS_CLOUD_REPO
- Operações de Instalação SQL DBMS_CLOUD_REPO
Pré-requisitos
Como desenvolvedor, você pode usar procedimentos DBMS_CLOUD com Autonomous AI Databases implantados na Oracle Public Cloud, Multicloud ou Exadata Cloud@Customer.
Dependendo da opção de implantação, os pré-requisitos a seguir devem ser atendidos para usar os procedimentos DBMS_CLOUD com os provedores de serviços Amazon S3, Azure Blob Storage e Google Cloud Storage.
Uma conectividade de saída deve ter sido configurada usando um gateway NAT, pelo administrador da frota, conforme descrito abaixo:
-
Crie um gateway NAT na VCN (Virtual Cloud Network) em que seus recursos do Autonomous AI Database residem seguindo as instruções em Criar um Gateway NAT na Documentação do Oracle Cloud Infrastructure.
-
Após criar o gateway NAT, adicione uma regra da rota e uma regra da segurança da saída a cada sub-rede (na VCN) na qual os recursos do Autonomous AI Database residem para que esses recursos possam usar o gateway para obter a chave pública da sua instância doAzure AD
-
Vá para a página Detalhes de Sub-rede da sub-rede.
-
Na guia Informações da Sub-rede, clique no nome da Tabela da Rota da sub-redes para exibir sua página Detalhes da Tabela de Roteamento.
-
Na tabela de Regras de Rota existentes, verifique se já existe uma regra com as seguintes características:
-
Destino: 0.0.0.0/0
-
Target Type: Gateway NAT
-
Destino: O nome do gateway NAT que você acaba de criar na VCN
Se essa regra não existir, clique em Adicionar Regras de Roteamento e adicione uma regra de roteamento com essas características.
-
-
Retorne à página Detalhes da Subrede da sub-rede.
-
Na tabela Listas de Segurança da subrede, clique no nome da lista para exibir sua página Detalhes da Lista de Segurança.
-
No menu lateral, em Recursos, clique em Regras de Saída.
-
Na tabela de Regras de Saída existentes, verifique se já existe uma regra com as seguintes características:
-
Tipo de Destino:CIDR
-
Destino:0.0.0.0/0
-
Protocolo IP:TCP
-
Faixa de Portas de Origem:443
-
Intervalo de Portas de Destino:Tudo
Se essa regra não existir, clique em Adicionar Regras de Saída e adicione uma regra de saída com essas características.
-
-
As definições de Proxy HTTP em seu ambiente devem permitir que o banco de dados acesse o provedor de serviços em nuvem.
Essas definições são definidas pelo administrador da frota ao criar a infraestrutura do Exadata Cloud@Customer conforme descrito em Usando a Console para Provisionar o Exadata Database Service on Cloud@Customer.
Observação: A configuração de rede, incluindo o Proxy HTTP, só poderá ser editada até que o Exadata Infrastructure esteja no estado Exige Ativação. Uma vez ativado, você não pode editar essas configurações.
A configuração de um Proxy HTTP para uma Infraestrutura do Exadata já provisionada precisa de uma Solicitação de Serviço (SR) no My Oracle Support. Consulte Criar uma Solicitação de Serviço no My Oracle Support para obter detalhes.
Procedimento CREATE_BRANCH
Este procedimento cria uma ramificação no Cloud Code Repository identificada pelo argumento de handle repo.
Sintaxe
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
);
Parâmetros
| Parâmetro | Descrição |
|---|---|
repo |
Especifica o handle do repositório. Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem. |
branch_name |
Especifica o nome da ramificação do repositório. Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem. |
parent_branch_name |
Cria a nova ramificação usando a confirmação principal da ramificação pai especificada. Esse parâmetro é suportado para todos os provedores de nuvem. Se você não fornecer um valor |
parent_commit_id |
Cria a nova ramificação usando o commit do repositório especificado. Este parâmetro é suportado para todos os provedores de nuvem. Se você não fornecer um valor |
Exemplo
Observação: Para criar uma ramificação em um repositório do Cloud Code, você deve especificar a ramificação pai ou o id de commit pai.
BEGIN
DBMS_CLOUD_REPO.CREATE_BRANCH (
repo => l_repo,
branch_name => 'test_branch',
parent_branch_name => 'main'
);
END;
/
Observações de Uso
Para executar o procedimento DBMS_CLOUD_REPO.CREATE_BRANCH, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_REPO.
Procedimento CREATE_REPOSITORY
Este procedimento cria um Cloud Code Repository identificado pelo argumento de manipulação repo.
Sintaxe
PROCEDURE DBMS_CLOUD_REPO.CREATE_REPOSITORY(
repo IN CLOB,
description IN CLOB DEFAULT NULL,
private IN BOOLEAN DEFAULT TRUE
);
Parâmetros
| Parâmetro | Descrição |
|---|---|
repo |
Especifica o handle do repositório. Esse parâmetro é suportado para todos os provedores de nuvem. |
description |
Uma descrição de texto curta para o repositório. Esse parâmetro é compatível com o GITHUB e o provedor de nuvem da AWS. |
private |
O repositório é privado e só pode ser acessado com credenciais válidas Este parâmetro só é suportado para o provedor de nuvem GITHUB. |
Exemplo
BEGIN
DBMS_CLOUD_REPO.CREATE_REPOSITORY(
repo => l_repo,
description => 'My test repo',
private => TRUE
);
END;
/
Procedimento DELETE_BRANCH
Este procedimento exclui uma ramificação no repositório do Cloud Code identificado pelo argumento de manipulação repo.
Sintaxe
PROCEDURE DBMS_CLOUD_REPO.DELETE_BRANCH (
repo IN CLOB,
branch_name IN VARCHAR2 DEFAULT NULL
);
Parâmetros
| Parâmetro | Descrição |
|---|---|
repo |
Especifica o handle do repositório. Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem. |
branch_name |
Excluir ramificação de um repositório específico. Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem. |
Exemplo
BEGIN
DBMS_CLOUD_REPO.DELETE_BRANCH (
repo => l_repo,
branch_name => 'test_branch'
);
END;
/
Observações de Uso
Para executar o procedimento DBMS_CLOUD_REPO.DELETE_BRANCH, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_REPO.
Procedimento DELETE_FILE
Este procedimento exclui um arquivo do repositório do Cloud Code identificado pelo argumento de manipulação repo.
Sintaxe
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
);
Parâmetros
| Parâmetro | Descrição |
|---|---|
repo |
Especifica o handle do repositório. |
file_path |
Caminho do arquivo para excluir o arquivo no repositório. |
branch_name |
Excluir arquivo de uma ramificação específica. |
commit_details |
Detalhes do Commit como um documento JSON
|
Exemplo
BEGIN
DBMS_CLOUD_REPO.DELETE_FILE(
repo => l_repo,
file_path => 'scripts/test3.sql',
branch_name => 'test_branch'
);
END;
/
Procedimento DELETE_REPOSITORY
Este procedimento exclui o Cloud Code Repository identificado pelo argumento de manipulação repo.
Sintaxe
PROCEDURE DBMS_CLOUD_REPO.DELETE_REPOSITORY(
repo IN CLOB
);
Parâmetros
| Parâmetro | Descrição |
|---|---|
repo |
Especifica o handle do repositório. |
Exemplo
BEGIN
DBMS_CLOUD_REPO.DELETE_REPOSITORY(
repo => l_repo
);
END;
/
Procedimento EXPORT_OBJECT
Este procedimento faz upload dos metadados DDL de um objeto de banco de dados para o repositório do Cloud Code identificado pelo argumento de manipulação repo. Este procedimento é uma maneira fácil de fazer upload da definição de metadados de um objeto de banco de dados em uma única etapa.
Sintaxe
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
);
Parâmetros
| Parâmetro | Descrição |
|---|---|
repo |
Especifica o handle do repositório. |
file_path |
Caminho do arquivo para fazer upload dos metadados do objeto no repositório. |
object_type |
Tipo de objeto suportado por DBMS_METADATA. Consulte DBMS_METADATA: tabela Tipos de Objeto em Referência de Tipos e Pacotes PL/SQL do Oracle Database 19c ou Referência de Tipos e Pacotes PL/SQL do Oracle Database 26ai para obter detalhes. |
object_name |
Nome do objeto de banco de dados para recuperar metadados. |
object_schema |
Esquema proprietário do objeto de banco de dados. |
branch_name |
Coloque o arquivo em uma ramificação específica. |
commit_details |
Detalhes do Commit como documento JSON:{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } |
append |
Anexe a DDL de metadados ao arquivo existente. |
Observações de Uso
Para controle personalizado na DDL do objeto, você pode usar DBMS_METADATA.GET_DDL junto com DBMS_CLOUD_REPO.PUT_FILE. Para obter a definição de metadados do objeto, o usuário atual deve ter o privilégio de recuperar os metadados do objeto. Consulte DBMS_METADATA em Oracle Database 19c PL/SQL Packages and Types Reference ou Oracle Database 26ai PL/SQL Packages and Types Reference para obter os requisitos de segurança do pacote.
Exemplo
BEGIN
DBMS_CLOUD_REPO.EXPORT_OBJECT(
repo => l_repo,
object_type => 'PACKAGE',
object_name => 'MYPACK',
file_path => 'mypack.sql'
);
END;
/
Procedimento EXPORT_SCHEMA
Este procedimento exporta metadados de todos os objetos em um esquema para a ramificação do Cloud Code Repository identificada pelo argumento de manipulação repo.
Sintaxe
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
);
Parâmetros
| Parâmetro | Descrição |
|---|---|
repo |
Especifica o handle do repositório. Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem. |
file_path |
Especifica o nome do arquivo de esquema a ser carregado no repositório. Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem. |
schema_name |
Especifica o nome do esquema para o qual um script DDL deve ser submetido a upload para a ramificação Cloud Code Repository. Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem. |
filter_list |
Especifica o CLOB do array JSON que define as condições de filtro para incluir ou excluir os objetos cujos metadados precisam ser exportados. Esse parâmetro é suportado para todos os provedores de nuvem. Os parâmetros JSON para
|
branch_name |
Especifica o nome da ramificação do repositório. Esse parâmetro é suportado para todos os provedores de nuvem. Se você não fornecer um valor |
commit_details |
Detalhes do Commit como um documento JSON {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }Esse parâmetro é suportado para todos os provedores de nuvem. Se você não fornecer um valor |
Exemplo
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;
/
Observações de Uso
Para executar o procedimento DBMS_CLOUD_REPO.EXPORT_SCHEMA, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_REPO.
Procedimento e Função GET_FILE
A função faz download do conteúdo de um arquivo do repositório do Cloud Code. O procedimento permite que você faça download do conteúdo de um arquivo do repositório do Cloud Code e salve o arquivo em um diretório.
Sintaxe
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
);
Parâmetros
| Parâmetro | Descrição |
|---|---|
repo |
Especifica o handle do repositório. |
file_path |
Caminho de arquivo no repositório. |
directory_name |
Nome do objeto do diretório para salvar o conteúdo do arquivo. |
target_file_name |
Nome do arquivo de destino para salvar o conteúdo no diretório. |
branch_name |
Obter arquivo de uma ramificação específica. |
tag_name |
Obter arquivo de uma Tag específica. |
commit_name |
Obter arquivo de um commit específico. |
Exemplo
BEGIN
DBMS_CLOUD_REPO.GET_FILE(
repo => l_repo,
file_path => 'test3.sql',
directory_name => 'DATA_PUMP_DIR',
target_file_name => 'test2.sql'
);
END;
/
Função INIT_AWS_REPO
Essa função inicializa um identificador de repositório da AWS e retorna um tipo opaco.
Sintaxe
FUNCTION DBMS_CLOUD_REPO.INIT_AWS_REPO(
credential_name IN VARCHAR2,
repo_name IN VARCHAR2,
region IN VARCHAR2
) RETURN repo;
Parâmetros
| Parâmetro | Descrição |
|---|---|
credential_name |
Objeto de credencial que especifica chave de acesso/chave secreta do AWS CodeCommit. |
repo_name |
Especifica o nome de repositório. |
region |
Especifica a região AWS do repositório CodeCommit. |
Exemplo
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_AWS_REPO(
credential_name => 'AWS_CRED',
repo_name => 'my_repo',
region => 'us-east-1'
);
END;
/
Função INIT_AZURE_REPO
Essa função inicializa um identificador de repositório do Azure e retorna um tipo opaco. Essa função só é suportada para o provedor de nuvem do Azure.
Sintaxe
FUNCTION DBMS_CLOUD_REPO.INIT_AZURE_REPO(
credential_name IN VARCHAR2,
repo_name IN VARCHAR2,
organization IN VARCHAR2,
project IN VARCHAR2
) RETURN repo;
Parâmetros
| Parâmetro | Descrição |
|---|---|
credential_name |
Objeto de credencial que especifica o Azure, com um Nome de Usuário e um Token de Acesso Pessoal (PAT). |
repo_name |
Especifica o nome de repositório. |
organization |
Especifica a Organização do Azure DevOps. |
project |
Nome do Azure Team Project. |
Exemplo
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_AZURE_REPO(
credential_name => 'AZURE_CRED',
repo_name => 'my_repo',
organization => 'myorg',
project => 'myproj',
);
END;
/
Função INIT_GITHUB_REPO
Esta função inicializa um identificador de repositório GitHub e retorna um tipo opaco.
Sintaxe
FUNCTION DBMS_CLOUD_REPO.INIT_GITHUB_REPO(
credential_name IN VARCHAR2 DEFAULT NULL,
repo_name IN VARCHAR2,
owner IN VARCHAR2)
RETURN repo;
Parâmetros
| Parâmetro | Descrição |
|---|---|
credential_name |
Objeto de credencial que especifica o GitHub. E-mail do Usuário e Token de Acesso Pessoal (PAT). |
repo_name |
Especifica o nome de repositório. |
owner |
Especifica o proprietário do repositório. |
Exemplo
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_GITHUB_REPO(
credential_name => 'GITHUB_CRED',
repo_name => 'my_repo',
owner => 'foo'
);
END;
/
Função INIT_REPO
Essa função inicializa um handle do Cloud Code Repository e retorna um objeto JSON opaco. Essa função é uma interface genérica para aceitar um documento JSON e evita a necessidade de alterar o código. Você só precisa alterar um documento JSON ao mover um repositório de código de um repositório do Cloud Code para outro repositório do Cloud Code.
Sintaxe
FUNCTION DBMS_CLOUD_REPO.INIT_REPO(
params IN CLOB)
RETURN CLOB;
Parâmetros
| Parâmetro JSON | Descrição |
|---|---|
provider |
Provedor de repositório de código de nuvem do seguinte:
|
repo_name |
Especifica o nome de repositório. DBMS_CLOUD_REPO.PARAM_REPO_NAME |
owner |
Proprietário do repositório do GitHub. Este parâmetro só é aplicável ao provedor de nuvem GitHub. |
region |
Região do repositório da AWS. Esse parâmetro só é aplicável ao provedor de nuvem da AWS. |
organization |
Organização do Azure. Esse parâmetro só é aplicável ao provedor de nuvem do Azure. |
project |
Projeto da Equipe do Azure. Esse parâmetro só é aplicável ao provedor de nuvem do Azure. |
Exemplo
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_REPO(
params => JSON_OBJECT('credential_name' value 'mycred',
'repo_name' value 'myrepo',
'repo_owner' value 'foo')
);
END;
/
Procedimento INSTALL_FILE
Este procedimento instala instruções SQL de um arquivo no repositório do Cloud Code identificado pelo argumento de manipulação repo.
Sintaxe
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
);
Parâmetros
| Parâmetro | Descrição |
|---|---|
repo |
Especifica o handle do repositório. |
file_path |
Caminho de arquivo no repositório. |
branch_name |
Ramificação para instalar o arquivo de uma ramificação específica. |
tag_name |
Tag para instalar o arquivo de uma Tag específica. |
commit_name |
ID de commit para instalar o arquivo de um commit específico. |
stop_on_error |
Pare de executar as instruções SQL no primeiro erro. |
Observações sobre Uso
-
Você pode instalar instruções SQL contendo SQL aninhado de um arquivo de repositório do Cloud Code usando o seguinte:
-
@: inclui um arquivo SQL com um caminho relativo à RAIZ do repositório. -
@@: inclui um arquivo SQL com um caminho relativo ao arquivo atual.
-
-
Os scripts são destinados como scripts de instalação de esquema e não como scripts SQL genéricos:
-
Os scripts não podem conter comandos específicos do cliente SQL*Plus.
-
Scripts não podem conter variáveis de bind ou scripts parametrizados.
-
As instruções SQL devem ser encerradas com uma barra em uma nova linha (/).
-
Os scripts podem conter instruções DDL, DML PLSQL, mas instruções
SELECTdiretas não são suportadas. O uso de SELECT em um bloco PL/SQL é suportado.
Qualquer instrução SQL que possa ser executada com o uso de
EXECUTE IMMEDIATEfuncionará se não contiver variáveis de bind ou definições. -
Exemplo
BEGIN
DBMS_CLOUD_REPO.INSTALL_FILE(
repo => l_repo,
file_path => 'test3.sql',
stop_on_error => FALSE
);
END;
/
Procedimento INSTALL_SQL
Este procedimento instala instruções SQL de um buffer fornecido como entrada.
Sintaxe
PROCEDURE DBMS_CLOUD_REPO.INSTALL_SQL(
content IN CLOB,
stop_on_error IN BOOLEAN DEFAULT TRUE
);
Parâmetros
| Parâmetro | Descrições |
|---|---|
content |
CLOB que contém as instruções SQL a serem executadas. |
stop_on_error |
Pare de executar as instruções SQL no primeiro erro. |
Observações sobre Uso
-
Os scripts são destinados como scripts de instalação de esquema e não como scripts SQL genéricos:
-
Os scripts não podem conter comandos específicos do cliente SQL*Plus.
-
Scripts não podem conter variáveis de bind ou scripts parametrizados.
-
As instruções SQL devem ser encerradas com uma barra em uma nova linha (/).
-
Os scripts podem conter instruções DDL, DML PLSQL, mas instruções
SELECTdiretas não são suportadas. O uso de SELECT em um bloco PL/SQL é suportado.
Qualquer instrução SQL que possa ser executada com o uso de
EXECUTE IMMEDIATEfuncionará se não contiver variáveis de bind ou definições. -
Exemplo
BEGIN
DBMS_CLOUD_REPO.INSTALL_SQL(
content => 'create table t1 (x varchar2(30))' || CHR(10) || '/',
stop_on_error => FALSE
);
END;
/
Função LIST_BRANCHES
Essa função lista ramificações na ramificação do Cloud Code Repository identificada pelo argumento de manipulação repo.
Sintaxe
FUNCTION DBMS_CLOUD_REPO.LIST_BRANCHES(
repo IN CLOB
) RETURN list_branch_ret_tab PIPELINED PARALLEL_ENABLE;
Parâmetros
| Parâmetro | Descrição |
|---|---|
repo |
Especifica o handle do repositório. Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem. |
Exemplo
SELECT * FROM DBMS_CLOUD_REPO.LIST_BRANCHES (repo => l_repo);
Observações sobre Uso
-
Esta é uma função de tabela com pipeline com tipo de retorno como
list_branch_ret_tab. -
DBMS_CLOUD_REPO.LIST_BRANCHESretorna a coluna:name, que indica o nome da ramificação do Repositório de Código da Nuvem.
Função LIST_COMMITS
Essa função lista commits na ramificação do Cloud Code Repository identificada pelo argumento de handle repo.
Sintaxe
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;
Parâmetros
| Parâmetro | Descrição |
|---|---|
repo |
Especifica o handle do repositório. Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem. |
branch_name |
Listar commits de uma ramificação específica. Esse parâmetro é suportado para todos os provedores de nuvem. Se você não fornecer um valor |
file_path |
Lista arquivos no caminho da subpasta especificada no repositório. Esse parâmetro só é suportado para provedores de nuvem Git e Azure. Se você não fornecer um valor |
commit_id |
Listar arquivos que começam no Esse parâmetro é suportado para todos os provedores de nuvem. Se você não fornecer um valor |
Exemplos
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS(repo => l_repo);
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS (
repo => l_repo,
commit_id => '66dd2b23b74cd0afabd11af66c6aa9c550540ba6',
file_path => 'sub_dir/test11.sql'
);
Observações sobre Uso
-
Esta é uma função de tabela com pipeline com um tipo de retorno como
list_commit_ret_tab. -
DBMS_CLOUD_REPO.LIST_COMMITSretorna a coluna:commit_id.
Função LIST_FILES
Esta função faz download de um arquivo do repositório do Cloud Code. Opcionalmente, o conteúdo do arquivo pode ser acessado de uma ramificação, tag ou nome de commit específico. Por padrão, o arquivo é acessado na ramificação do repositório padrão. Os resultados incluem os nomes dos arquivos e os metadados adicionais sobre os arquivos.
Sintaxe
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;
Parâmetros
| Parâmetro | Descrição |
|---|---|
repo |
Especifica o handle do repositório. |
path |
Lista arquivos no caminho da subpasta especificada no repositório. |
branch_name |
Listar arquivos de uma ramificação específica. |
tag_name |
Listar arquivos de uma Tag específica. |
commit_name |
Listar arquivos de um commit específico. |
Observações sobre Uso
-
Esta é uma função de tabela com pipeline com tipo de retorno como
list_file_ret_tab. -
DBMS_CLOUD_REPO.LIST_FILESretorna as colunas:id,name,urlebytes.
Exemplo
SELECT name FROM DBMS_CLOUD_REPO.LIST_FILES(repo => l_repo);
NAME
-------------------------
test3.sql
Função LIST_REPOSITORIES
Essa função lista todos os Repositórios de Código da Nuvem identificados pelo argumento de handle repo. Os resultados incluem os nomes de repositório e metadados adicionais sobre os repositórios.
Sintaxe
FUNCTION DBMS_CLOUD_REPO.LIST_REPOSITORIES(
repo IN CLOB
) RETURN list_repo_ret_tab PIPELINED PARALLEL_ENABLE;
Parâmetros
| Parâmetro | Descrição |
|---|---|
repo |
Especifica o handle do repositório. Esse parâmetro é suportado por todos os provedores de nuvem. |
description |
Uma descrição de texto curta para o repositório. Esse parâmetro é compatível com os provedores de nuvem GITHUB e AWS. |
private |
O repositório é privado e só pode ser acessado com credenciais válidas Este parâmetro é suportado para o provedor de nuvem GITHUB. |
Observações sobre Uso
-
Esta é uma função de tabela com pipeline com tipo de retorno como
list_repo_ret_tab. -
DBMS_CLOUD_REPO.LIST_REPOSITORIESretorna as colunas:id,name,owner,description,private,url,bytes,createdelast_modified.
Exemplo
SELECT name description FROM DBMS_CLOUD_REPO.LIST_REPOSITORIES(:repo);
NAME DESCRIPTION
--------------------- ---------------
TestRepo1 My test repo
Procedimento MERGE_BRANCH
Este procedimento mescla uma ramificação de repositório em outra ramificação especificada no Cloud Code Repository identificado pelo argumento de manipulação repo. O procedimento MERGE_BRANCH não é suportado no Azure no momento.
Sintaxe
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
);
Parâmetros
| Parâmetro | Descrição |
|---|---|
repo |
Especifica o handle do repositório. Esse parâmetro é obrigatório e compatível com provedores de nuvem GITHUB e AWS. |
branch_name |
Especifica o nome da ramificação Git a ser mesclada. Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem. |
target_branch_name |
Especifica o nome da ramificação de destino a ser mesclada. Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem. |
commit_details |
Detalhes do Commit como um documento JSON
Se você não fornecer um valor |
Exemplo
BEGIN
DBMS_CLOUD_REPO.MERGE_BRANCH (
repo => l_repo,
branch_name => 'test_branch',
target_branch_name => 'main'
);
END;
/
Observações de Uso
Para executar o procedimento DBMS_CLOUD_REPO.MERGE_BRANCH, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_REPO.
Procedimento PUT_FILE
Este procedimento faz upload de um arquivo para o repositório do Cloud Code identificado pelo argumento de manipulação repo. O procedimento é sobrecarregado para suportar o upload de um arquivo de um objeto de diretório ou o upload do conteúdo de um BLOB para o arquivo de repositório.
Sintaxe
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
);
Parâmetros
| Parâmetro | Descrição |
|---|---|
repo |
Especifica o handle do repositório. |
file_path |
Caminho do arquivo para upload do arquivo no repositório. |
contents |
BLOB contendo o conteúdo do arquivo. |
directory_name |
Nome do objeto do diretório que contém o nome do arquivo. |
source_file_name |
Nome do arquivo de origem para upload no repositório. |
branch_name |
Coloque o arquivo em uma ramificação específica. |
commit_details |
Detalhes do Commit como um documento JSON:
|
Exemplo
BEGIN
DBMS_CLOUD_REPO.PUT_FILE(
repo => l_repo,
);
END;
/
Procedimento UPDATE_REPOSITORY
Este procedimento atualiza um repositório do Cloud Code identificado pelo argumento de manipulação repo. UPDATE_REPOSITORY suporta a atualização do nome, da descrição ou do status de visibilidade privada, conforme suportado pelo repositório Cloud Code.
Sintaxe
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
);
Parâmetros
| Parâmetro | Descrição |
|---|---|
repo |
Especifica o handle do repositório. Esse parâmetro é suportado para todos os provedores de nuvem. |
new_name |
Novo nome para repositório. Este parâmetro é suportado para todos os provedores de nuvem. |
description |
Uma breve descrição de texto para o repositório. Esse parâmetro é suportado para provedores de nuvem GITHUB e AWS. |
private |
O repositório é privado e só pode ser acessado com credenciais válidas. Este parâmetro é suportado para o provedor de nuvem GITHUB. |
Exemplo
BEGIN
DBMS_CLOUD_REPO.UPDATE_REPOSITORY(
repo => l_repo,
new_name => 'repo2'
);
END;
/