Resumo de Subprogramas DBMS_CLOUD_REPO
Esta seção abrange os subprogramas DBMS_CLOUD_REPO
fornecidos com o Autonomous Database.
Tópicos Relacionados
Pré-requisitos
Como desenvolvedor, você pode usar procedimentos DBMS_CLOUD com Autonomous Databases implantados no 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 provedores de serviços Amazon S3, Azure Blob Storage e Google Cloud Storage.
- Crie um gateway NAT na Rede Virtual na Nuvem (VCN) em que seus recursos do Autonomous 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 de roteamento e uma regra de segurança de saída a cada sub-rede (na VCN) na qual os recursos do Autonomous Database residem para que esses recursos possam usar o gateway para obter uma chave pública da sua instância do Azure AD:
- Vá para a página Detalhes da Sub-rede da sub-rede.
- Na guia Informações da Sub-rede, clique no nome da Tabela de Rota da sub-rede para exibir sua respectiva página Detalhes da Tabela de Rota.
- Na tabela de Regras de Roteamento existentes, verifique se já existe uma regra com as seguintes características:
- Destino: 0.0.0.0/0
- Tipo de Destino: Gateway NAT
- Alvo: O nome do gateway NAT recém-criado na VCN
Se essa regra não existir, clique em Adicionar Regras de Rota e adicione uma regra de roteamento com essas características.
- Retorne à página Detalhes da Sub-rede da sub-rede.
- Na tabela Listas de Segurança da sub-rede, clique no nome da lista de segurança da sub-rede para exibir a 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
- Faixa de Portas de Destino: Todas
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.
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. Depois de ativado, você não poderá 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
Esse procedimento cria uma ramificação no Repositório de Código na Nuvem identificada pelo argumento de controle 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 identificador de repositório. Esse parâmetro é obrigatório e suportado em todos os provedores de nuvem. |
branch_name |
Especifica o nome da ramificação do repositório. Esse parâmetro é obrigatório e suportado em todos os provedores de nuvem. |
parent_branch_name |
Cria a nova ramificação usando o commit principal da ramificação pai especificada. Esse parâmetro é suportado em 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. Esse parâmetro é suportado em 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, especifique 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 fazer log-in como usuário ADMIN ou ter o privilégio EXECUTE
em DBMS_CLOUD_REPO
.
Procedimento CREATE_REPOSITORY
Esse procedimento cria um Repositório de Código na Nuvem identificado pelo argumento de controle 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 identificador de repositório.
Esse parâmetro é suportado em todos os provedores de nuvem. |
description |
Uma descrição curta do repositório.
Esse parâmetro é suportado pelos provedores de nuvem GITHUB e AWS. |
private |
O repositório é privado e apenas está acessível com credenciais válidas Esse parâmetro só é suportado pelo provedor de nuvem GITHUB. |
Exemplo
BEGIN
DBMS_CLOUD_REPO.CREATE_REPOSITORY
(
repo => l_repo,
description => 'My test repo',
private => TRUE
);
END;
/
Procedimento DELETE_BRANCH
Esse procedimento exclui uma ramificação no repositório de Código de Nuvem identificado pelo argumento de controle 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 identificador de repositório.
Esse parâmetro é obrigatório e suportado em todos os provedores de nuvem. |
branch_name |
Exclua a ramificação de um repositório específico.
Esse parâmetro é obrigatório e suportado em 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 fazer log-in como usuário ADMIN ou ter o privilégio EXECUTE
em DBMS_CLOUD_REPO
.
Procedimento DELETE_FILE
Esse procedimento exclui um arquivo do repositório de Código de Nuvem identificado pelo argumento de controle 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 identificador de repositório. |
file_path |
Caminho de arquivo para excluir o arquivo no repositório. |
branch_name |
Exclua o arquivo de uma ramificação específica. |
commit_details |
Detalhes de commit como documento JSON {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } |
Exemplo
BEGIN
DBMS_CLOUD_REPO.DELETE_FILE
(
repo => l_repo,
file_path => 'scripts/test3.sql',
branch_name => 'test_branch'
);
END;
/
Procedimento DELETE_REPOSITORY
Esse procedimento exclui o Repositório de Código na Nuvem identificado pelo argumento de controle repo
.
Sintaxe
PROCEDURE DBMS_CLOUD_REPO.DELETE_REPOSITORY
(
repo IN CLOB
);
Parâmetros
Parâmetro | Descrição |
---|---|
repo |
Especifica o identificador de repositório. |
Exemplo
BEGIN
DBMS_CLOUD_REPO.DELETE_REPOSITORY
(
repo => l_repo
);
END;
/
Procedimento EXPORT_OBJECT
Esse procedimento faz upload dos metadados DDL de um objeto de banco de dados para o repositório de Código de Nuvem identificado pelo argumento de controle repo
. Esse 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 identificador de repositório. |
file_path |
Caminho de arquivo para fazer upload de metadados de objeto no repositório. |
object_type |
Tipo de objeto suportado por DBMS_METADATA. Consulte DBMS_METADATA: Tabela de Tipos de Objeto em Oracle Database 19c PL/SQL Packages and Types Reference ou Oracle Database 23ai PL/SQL Packages and Types Reference para obter detalhes. |
object_name |
Nome do objeto do banco de dados para recuperar metadados. |
object_schema |
Esquema de propriedade do objeto de banco de dados. |
branch_name |
Coloque o arquivo em uma ramificação específica. |
commit_details |
Detalhes de commit como documento JSON: |
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 privilégios para recuperar os metadados do objeto. Consulte DBMS_METADATA em Oracle Database 19c PL/SQL Packages and Types Reference ou Oracle Database 23ai 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 Repositório de Código na Nuvem identificada pelo argumento de controle 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 identificador de repositório. Esse parâmetro é obrigatório e suportado em 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 em todos os provedores de nuvem. |
schema_name |
Especifica o nome do esquema para o qual será feito upload de um script DDL na ramificação do Repositório de Código na Nuvem. Esse parâmetro é obrigatório e suportado em 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 em todos os provedores de nuvem. Os parâmetros JSON para
filter_list são:
|
branch_name |
Especifica o nome da ramificação do repositório. Esse parâmetro é suportado em todos os provedores de nuvem. Se você não fornecer um valor |
commit_details |
Detalhes de commit como documento JSON {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } Esse parâmetro é suportado em 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 fazer log-in 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 de Código de Nuvem. O procedimento permite fazer download do conteúdo de um arquivo do repositório de Código de Nuvem e salvar 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 identificador de repositório. |
file_path |
Caminho do arquivo no repositório. |
directory_name |
Nome do objeto de 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 o arquivo de uma ramificação específica. |
tag_name |
Obter o arquivo de uma Tag específica. |
commit_name |
Obter o 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 a chave de acesso/chave secreta do AWS CodeCommit. |
repo_name |
Especifica o nome do repositório. |
region |
Especifica a região da AWS para o 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 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 do repositório. |
organization |
Especifica a Organização DevOps do Azure. |
project |
Nome do Projeto da Equipe do Azure. |
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
Essa 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 do 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 identificador de Repositório de Código na Nuvem e retorna um objeto JSON opaco. Essa função é uma interface genérica para aceitar um documento JSON, e evita ter de alterar o código; você só precisa alterar um documento JSON ao mover um repositório de código entre repositórios de Código na Nuvem.
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 na nuvem dos seguintes itens: DBMS_CLOUD_REPO.GITHUB_REPO ('GITHUB') DBMS_CLOUD_REPO.AWS_REPO ('AWS') DBMS_CLOUD_REPO.AZURE_REPO ('AZURE') |
repo_name |
Especifica o nome do repositório. DBMS_CLOUD_REPO.PARAM_REPO_NAME |
owner |
Proprietário do Repositório GitHub. DBMS_CLOUD_REPO.PARAM_OWNER Esse parâmetro só é aplicável ao provedor de nuvem GitHub. |
region |
Região do Repositório da AWS DBMS_CLOUD_REPO_PARAM_REGION Esse parâmetro só é aplicável ao provedor de nuvem da AWS. |
organization |
Organização do Azure DBMS_CLOUD_REPO_PARAM_ORGANIZATION Esse parâmetro só é aplicável ao provedor de nuvem do Azure. |
project |
Projeto da Equipe do Azure DBMS_CLOUD_REPO_PARAM_PROJECT 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
Esse procedimento instala instruções SQL de um arquivo no repositório de Código de Nuvem identificado pelo argumento de controle 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 identificador de repositório. |
file_path |
Caminho do arquivo no repositório. |
branch_name |
Ramificação para instalar arquivo de uma ramificação específica. |
tag_name |
Tag para instalar arquivo de uma Tag específica. |
commit_name |
ID de Commit para instalar arquivo de um commit específico. |
stop_on_error |
Interromper a execução das 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 para a RAIZ do repositório. -
@@
: inclui um arquivo SQL com um caminho relativo ao arquivo atual.
-
-
Os scripts são considerados 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.
- Os scripts não podem conter variáveis de bind ou scripts parametrizados.
- As instruções SQL devem terminar com uma barra em uma nova linha (/).
- Os scripts podem conter instruções DDL e DML PLSQL, mas não há suporte para instruções
SELECT
diretas. Há suporte para o uso de SELECT em um bloco PL/SQL.
Qualquer instrução SQL que possa ser executada usando
EXECUTE IMMEDIATE
funcionará se não contiver definições e variáveis de bind.
Exemplo
BEGIN
DBMS_CLOUD_REPO.INSTALL_FILE
(
repo => l_repo,
file_path => 'test3.sql',
stop_on_error => FALSE
);
END;
/
Procedimento INSTALL_SQL
Esse 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 |
É o CLOB que contém as instruções SQL a serem executadas. |
stop_on_error |
Interromper a execução das instruções SQL no primeiro erro. |
Observações sobre Uso
-
Os scripts são considerados 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.
- Os scripts não podem conter variáveis de bind ou scripts parametrizados.
- As instruções SQL devem terminar com uma barra em uma nova linha (/).
- Os scripts podem conter instruções DDL e DML PLSQL, mas não há suporte para instruções
SELECT
diretas. Há suporte para o uso de SELECT em um bloco PL/SQL.
Qualquer instrução SQL que possa ser executada usando
EXECUTE IMMEDIATE
funcionará se não contiver definições e variáveis de bind.
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 Repositório de Código na Nuvem identificada pelo argumento de controle 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 identificador de repositório.
Esse parâmetro é obrigatório e suportado em todos os provedores de nuvem. |
Exemplo
SELECT * FROM DBMS_CLOUD_REPO.LIST_BRANCHES
(repo => l_repo);
Observações sobre Uso
-
Essa é uma função de tabela em pipeline com tipo de retorno como
list_branch_ret_tab.
-
DBMS_CLOUD_REPO.LIST_BRANCHES
retorna 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 Repositório de Código na Nuvem identificada pelo argumento de controle 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 identificador de repositório.
Esse parâmetro é obrigatório e suportado em todos os provedores de nuvem. |
branch_name |
Listar commits de uma ramificação específica.
Esse parâmetro é suportado em todos os provedores de nuvem. Se você não fornecer um valor |
file_path |
Listar os 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 começando pelo sha/id especificadoEsse parâmetro é suportado em todos os provedores de nuvem. Se você não fornecer um valor |
Exemplo
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS
(repo => l_repo);
Exemplo
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS
(
repo => l_repo,
commit_id => '66dd2b23b74cd0afabd11af66c6aa9c550540ba6',
file_path => 'sub_dir/test11.sql'
);
Observações sobre Uso
-
Essa é uma função de tabela em pipeline com um tipo de retorno como
list_commit_ret_tab.
-
DBMS_CLOUD_REPO.LIST_COMMITS
retorna a coluna:commit_id
.
Função LIST_FILES
Essa função faz download de um arquivo do repositório de Código de Nuvem. Existe a opção de poder acessar o conteúdo do arquivo por um nome específico de ramificação, tag ou commit. Por padrão, o arquivo é acessado pela ramificação de repositório padrão. Os resultados incluem os nomes de arquivos e metadados adicionais sobre eles.
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 identificador de repositório. |
path |
Listar os arquivos no caminho da subpasta especificada no repositório. |
branch_name |
Listar os arquivos de uma ramificação específica. |
tag_name |
Listar os arquivos de uma Tag específica. |
commit_name |
Listar os arquivos de um commit específico. |
Observações sobre Uso
-
Essa é uma função de tabela em pipeline com tipo de retorno como
list_file_ret_tab.
-
DBMS_CLOUD_REPO.LIST_FILES
retorna as colunas:id
,name
,url
ebytes
.
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 na Nuvem identificados pelo argumento de controle repo
. Os resultados incluem os nomes dos repositórios e metadados adicionais sobre eles.
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 identificador de repositório.
Esse parâmetro é suportado por todos os provedores de nuvem. |
description |
Uma descrição curta do repositório.
Esse parâmetro é suportado pelos provedores de nuvem GITHUB e AWS. |
private |
O repositório é privado e apenas está acessível com credenciais válidas Esse parâmetro é suportado pelo provedor de nuvem GITHUB. |
Observações sobre Uso
-
Essa é uma função de tabela em pipeline com tipo de retorno como
list_repo_ret_tab.
-
DBMS_CLOUD_REPO.LIST_REPOSITORIES
retorna as colunas:id
,name
,owner
,description
,private
,url
,bytes
,created
elast_modified
.
Exemplo
SELECT name description FROM DBMS_CLOUD_REPO.LIST_REPOSITORIES
(:repo);
NAME DESCRIPTION
--------------------- ---------------
TestRepo1 My test repo
Procedimento MERGE_BRANCH
Esse procedimento mescla uma ramificação de repositório em outra ramificação especificada no Repositório de Código na Nuvem identificada pelo argumento de controle repo
. No momento, o procedimento MERGE_BRANCH
não é suportado no Azure.
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 identificador de repositório. Esse parâmetro é obrigatório e suportado pelos 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 em todos os provedores de nuvem. |
target_branch_name |
Especifica o nome da ramificação de destino na qual mesclar. Esse parâmetro é obrigatório e suportado em todos os provedores de nuvem. |
commit_details |
Detalhes de commit como documento JSON {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } 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 fazer log-in como usuário ADMIN ou ter o privilégio EXECUTE
em DBMS_CLOUD_REPO
.
Procedimento PUT_FILE
Esse procedimento faz upload de um arquivo para o repositório de Código de Nuvem identificado pelo argumento de controle 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 do 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 identificador de repositório. |
file_path |
Caminho de arquivo para fazer upload do arquivo no repositório. |
contents |
BLOB contendo o conteúdo do arquivo. |
directory_name |
Nome do objeto de diretório que contém o nome do arquivo. |
source_file_name |
Nome do arquivo de origem para fazer upload no repositório. |
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" } } |
Exemplo
BEGIN
DBMS_CLOUD_REPO.PUT_FILE
(
repo => l_repo,
);
END;
/
Procedimento UPDATE_REPOSITORY
Esse procedimento atualiza um repositório de Código de Nuvem identificado pelo argumento de controle repo
. Ele suporta a atualização do nome, da descrição ou do status de visibilidade privada, conforme suportado pelo repositório de Código de Nuvem.
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 identificador de repositório.
Esse parâmetro é suportado em todos os provedores de nuvem. |
new_name |
Novo nome do repositório.
Esse parâmetro é suportado em todos os provedores de nuvem. |
description |
Uma descrição curta do repositório.
Esse parâmetro é suportado pelos provedores de nuvem GITHUB e AWS. |
private |
O repositório é privado e só pode ser acessado com credenciais válidas. Esse parâmetro é suportado pelo provedor de nuvem GITHUB. |
Exemplo
BEGIN
DBMS_CLOUD_REPO.UPDATE_REPOSITORY
(
repo => l_repo,
new_name => 'repo2'
);
END;
/