DBMS_CLOUD - Formatos de URI
Descreve o formato dos URIs do arquivo de origem em operações com o DBMS_CLOUD
. O formato depende do serviço de armazenamento de objetos que você está usando.
DBMS_CLOUD
garante comunicação segura e qualquer URI que você especificar deve usar HTTPS, com https://
como prefixo para o URI.
- Formato de URI Nativo do Oracle Cloud Infrastructure Object Storage
- Formato de URI Swift do Oracle Cloud Infrastructure Object Storage
- Formato de URI do Oracle Cloud Infrastructure Object Storage Usando o URL de Solicitação Pré-autenticada
- Formato de URI Usando URL Público
- Formato de URI do Oracle Cloud Infrastructure Object Storage Classic
- Variáveis de Substituição nos URLs do OCI (Oracle Cloud Infrastructure)
Você pode fornecer variáveis de substituição predefinidas nos URLs do OCI (Oracle Cloud Infrastructure) ao fornecer o URI do parâmetroobject_uri
para os procedimentos e funçõesDBMS_CLOUD
. - Formato de URI do Amazon S3
- Formato de URI do Armazenamento Blob do Azure ou do Armazenamento do Data Lake do Azure
- Formato de URI Compatível com Amazon S3
- GitHub Formato de URL Bruto
DBMS_CLOUD
suporta URLs Brutos GitHub para acessar dados de um Repositório GitHub. - Formatos de URI Adicionais Gerenciados pelo Cliente
Além doURIs
pré-configurado e reconhecido com seus nomes de domínio totalmente qualificados (FQDNs
), oDBMS_CLOUD
não pode determinar o esquema de autenticação adequado para pontos finais gerenciados pelo clienteURIs
. Nesses casos, oDBMS_CLOUD
conta com o esquemaURI
adequado para identificar o esquema de autenticação do ponto final gerenciado pelo cliente.
Tópico principal: Pacote DBMS_CLOUD
Formato de URI Nativo do Oracle Cloud Infrastructure Object Storage
Se seus arquivos de origem residirem no Oracle Cloud Infrastructure Object Storage no realm comercial (OC1), recomendamos que você use o seguinte formato de URI que usa Pontos Finais Dedicados ao Object Storage. Consulte Pontos Finais Dedicados do Serviço Object Storage para obter mais informações.
https://namespace-string.objectstorage.region.oci.customer-oci.com/n/namespace-string/b/bucketname/o/filename
Só há suporte para URLs de ponto final dedicados do OCI Object Store em realms comerciais (OC1).
Se seus arquivos de origem residirem no Oracle Cloud Infrastructure Object Storage e não estiverem no realm comercial (OC1), use o seguinte formato:
https://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucket/o/filename
Por exemplo, no realm comercial (OC1), o URI Nativo do arquivo channels.txt
no bucket bucketname
no data center Phoenix
é:
https://namespace.objectstorage.region.oci.customer-oci.com/n/namespace/b/bucketname/o/channels.txt
Neste exemplo, namespace-string
é o namespace do Oracle Cloud Infrastructure Object Storage e bucketname
é o nome do bucket. Consulte Noções Básicas de Namespaces do serviço Object Storage para obter mais informações.
DBMS_CLOUD
:
-
my$home_region
: Especifica a região Home da sua tenancy do OCI (Oracle Cloud Infrastructure).Só há suporte para a variável de substituiçãomy$home_region
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
-
my$region
: Especifica a Região do OCI (Oracle Cloud Infrastructure) do seu Autonomous Database.Só há suporte para a variável de substituiçãomy$region
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
-
my$cloud_domain
: Especifica o nome do domínio do OCI (Oracle Cloud Infrastructure) para o OCI (Oracle Cloud Infrastructure).Só há suporte para a variável de substituiçãomy$cloud_domain
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
-
my$namespace
: Especifica o namespace do Oracle Cloud Infrastructure (OCI) Object Storage.Só há suporte para a variável de substituiçãomy$namespace
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
-
my$compartment
: Especifica o OCID do seu compartimento.Só há suporte para a variável de substituiçãomy$compartment
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
-
my$tenancy
: Especifica o OCID da sua tenancy.Só há suporte para a variável de substituiçãomy$tenancy
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
object_uri => 'https://objectstorage.my$region.my$cloud_domain/n/my$namespace/b/bucket_name/o/file_name'
Você pode encontrar o URI no "Detalhes do Objeto" do Oracle Cloud Infrastructure Object Storage no menu de reticências do lado direito no Object Store:
- Abra a Console do Oracle Cloud Infrastructure clicando em
ao lado do Oracle Cloud.
- No menu de navegação esquerdo do Oracle Cloud Infrastructure, clique em Infraestrutura Básica. Em Object Storage, clique em Object Storage.
- Em List Scope, selecione um Compartimento.
- Na coluna Nome, selecione um bucket.
- Na área Objetos, clique em Exibir Detalhes do Objeto.
- Na página Detalhes do Objeto, o campo Caminho do URL (URI) mostra o URI para acessar o objeto.
Os arquivos de origem precisam ser armazenados em um bucket da camada do Object Storage. O Autonomous Database não suporta buckets na camada de Armazenamento de Arquivos Compactados. Consulte Visão Geral do Serviço Object Storage para obter mais informações.
Tópico principal: DBMS_CLOUD Formatos de URI
Formato de URI Swift do Oracle Cloud Infrastructure Object Storage
Se seus arquivos de origem residirem no Oracle Cloud Infrastructure Object Storage no realm comercial (OC1), recomendamos que você use o seguinte formato de URI que usa Pontos Finais Dedicados ao Object Storage. Consulte Pontos Finais Dedicados do Serviço Object Storage para obter mais informações.
https://namespace-string.swiftobjectstorage.region.oci.customer-oci.com/v1/namespace-string/bucket/filename
Só há suporte para URLs de ponto final dedicados do OCI Object Store nos realms comerciais (OC1).
Se seus arquivos de origem residirem no Oracle Cloud Infrastructure Object Storage e não estiverem no realm comercial (OC1), use o seguinte formato:
https://swiftobjectstorage.region.oraclecloud.com/v1/namespace-string/bucket/filename
Por exemplo, no realm comercial (OC1), o URI Swift do arquivo channels.txt
no bucket bucketname
no data center Phoenix
é:
https://namespace-string.swiftobjectstorage.us-phoenix-1.oci.customer-oci.com/v1/namespace-string/bucketname/channels.txt
Neste exemplo, namespace-string
é o namespace do Oracle Cloud Infrastructure Object Storage e bucketname
é o nome do bucket. Consulte Noções Básicas de Namespaces do serviço Object Storage para obter mais informações.
Os arquivos de origem precisam ser armazenados em um bucket da camada do Object Storage. O Autonomous Database não suporta buckets na camada de Armazenamento de Arquivos Compactados. Consulte Visão Geral do Serviço Object Storage para obter mais informações.
-
my$home_region
: Especifica a região Home da sua tenancy do OCI (Oracle Cloud Infrastructure).Só há suporte para a variável de substituiçãomy$home_region
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
-
my$region
: Especifica a Região do OCI (Oracle Cloud Infrastructure) do seu Autonomous Database.Só há suporte para a variável de substituiçãomy$region
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
-
my$cloud_domain
: Especifica o nome do domínio do OCI (Oracle Cloud Infrastructure) para o OCI (Oracle Cloud Infrastructure).Só há suporte para a variável de substituiçãomy$cloud_domain
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
-
my$namespace
: Especifica o namespace do Oracle Cloud Infrastructure (OCI) Object Storage.Só há suporte para a variável de substituiçãomy$namespace
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
-
my$compartment
: Especifica o OCID do seu compartimento.Só há suporte para a variável de substituiçãomy$compartment
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
-
my$tenancy
: Especifica o OCID da sua tenancy.Só há suporte para a variável de substituiçãomy$tenancy
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
Tópico principal: DBMS_CLOUD Formatos de URI
Formato de URI do Oracle Cloud Infrastructure Object Storage Usando o URL de Solicitação Pré-autenticada
Se seus arquivos de origem residirem no Oracle Cloud Infrastructure Object Storage, você poderá usar URIs pré-autenticados do Oracle Cloud Infrastructure. Quando você cria uma solicitação pré-autenticada, um URL exclusivo é gerado. Em seguida, você pode fornecer o URL exclusivo aos usuários da sua organização, parceiros ou terceiros para acessar o alvo de recursos do Object Storage identificado na solicitação pré-autenticada.
Avalie cuidadosamente o requisito de negócios e as ramificações de segurança do acesso pré-autenticado. Ao criar o URL da solicitação pré-autenticada, anote a Expiração e o Tipo de acesso para garantir que sejam apropriados para seu uso.
Um URL da solicitação pré-autenticada dá a qualquer pessoa que tenha o acesso do URL aos destinos identificados na solicitação, desde que a solicitação esteja ativa. Além de considerar as necessidades operacionais de acesso pré-autenticado, é igualmente importante gerenciar sua distribuição.
Se seus arquivos de origem residirem no Oracle Cloud Infrastructure Object Storage no realm comercial (OC1), recomendamos que você use o seguinte formato de URI que usa Pontos Finais Dedicados ao Object Storage. Consulte Pontos Finais Dedicados do Serviço Object Storage para obter mais informações.
https://namespace-string.objectstorage.region.oci.customer-oci.com/p/encrypted_string/n/namespace-string/b/bucket/o/filename
Só há suporte para URLs de ponto final dedicados do OCI Object Store nos realms comerciais (OC1).
Se seus arquivos de origem residirem no Oracle Cloud Infrastructure Object Storage e não estiverem no realm comercial (OC1), use o seguinte formato:
https://objectstorage.region.oraclecloud.com.com/p/encrypted_string/n/namespace-string/b/bucket/o/filename
Por exemplo, no realm comercial (OC1), uma amostra de URI pré-autenticado para o arquivo channels.txt
no bucket bucketname no data center Phoenix
é:
https://namespace-string.objectstorage.us-phoenix-1.oci.customer-oci.com/p/2xN-uDtWJNsiD910UCYGue/n/namespace-string/b/bucketname/o/channels.txt
Neste exemplo, namespace-string
é o namespace do Oracle Cloud Infrastructure Object Storage e bucketname
é o nome do bucket. Consulte Noções Básicas de Namespaces do serviço Object Storage para obter mais informações.
Você pode usar um URL pré-autenticado em qualquer procedimento DBMS_CLOUD
que obtenha um URL para acessar arquivos no armazenamento de objetos do Oracle Cloud Infrastructure, sem a necessidade de criar uma credencial. Especifique o parâmetro credential_name
como NULL
ou não forneça um parâmetro credential_name
.
Por exemplo:
BEGIN
DBMS_CLOUD.COPY_DATA
(
table_name =>'CHANNELS',
file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/p/unique-pre-authenticated-string/n/namespace-string/b/bucketname/o/channels.txt',
format => json_object('delimiter' value ',') );
END;
/
Uma lista de URLs mistos é válida. Se a lista de URLs contiver URLs pré-autenticados e URLs que exigem autenticação, o
DBMS_CLOUD
usará o credential_name
especificado para acessar os URLs que exigem autenticação e, para os URLs pré-autenticados, o credential_name
especificado será ignorado.
Consulte Usando Solicitações Pré-Autenticadas para obter mais informações.
DBMS_CLOUD
:
-
my$home_region
: Especifica a região Home da sua tenancy do OCI (Oracle Cloud Infrastructure).Só há suporte para a variável de substituiçãomy$home_region
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
-
my$region
: Especifica a Região do OCI (Oracle Cloud Infrastructure) do seu Autonomous Database.Só há suporte para a variável de substituiçãomy$region
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
-
my$cloud_domain
: Especifica o nome do domínio do OCI (Oracle Cloud Infrastructure) para o OCI (Oracle Cloud Infrastructure).Só há suporte para a variável de substituiçãomy$cloud_domain
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
-
my$namespace
: Especifica o namespace do Oracle Cloud Infrastructure (OCI) Object Storage.Só há suporte para a variável de substituiçãomy$namespace
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
-
my$compartment
: Especifica o OCID do seu compartimento.Só há suporte para a variável de substituiçãomy$compartment
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
-
my$tenancy
: Especifica o OCID da sua tenancy.Só há suporte para a variável de substituiçãomy$tenancy
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
object_uri => 'https://objectstorage.my$region.my$cloud_domain/n/my$namespace/b/bucket_name/o/file_name'
Tópico principal: DBMS_CLOUD Formatos de URI
Formato de URI Usando URL Público
Se seus arquivos de origem residirem em um Armazenamento de Objetos que forneça URLs públicos, você poderá usar URLs públicos com procedimentos DBMS_CLOUD
. Público significa que o serviço Object Storage suporta acesso anônimo e não autenticado aos arquivos do Object Store. Consulte o serviço Cloud Object Storage para obter detalhes sobre como tornar um objeto público em um Armazenamento de Objetos suportado.
Avalie cuidadosamente o requisito de negócios e as ramificações de segurança do uso de URLs públicos. Quando você usa URLs públicos, devido ao conteúdo do arquivo não estar sendo autenticado, certifique-se de que isso seja apropriado para seu uso.
Você pode usar um URL público em qualquer procedimento DBMS_CLOUD
que obtenha um URL para acessar arquivos no seu armazenamento de objetos, sem a necessidade de criar uma credencial. Especifique o parâmetro credential_name
como NULL
ou não forneça um parâmetro credential_name
.
Por exemplo, o seguinte usa DBMS_CLOUD.COPY_DATA
sem uma credential_name
:
BEGIN
DBMS_CLOUD.COPY_DATA
(
table_name =>'CHANNELS',
file_uri_list =>'https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace-string/b/bucketname/o/chan_v3.dat',
format => json_object('delimiter' value ',') );
END;
/
Neste exemplo, namespace-string
é o namespace do Oracle Cloud Infrastructure Object Storage e bucketname
é o nome do bucket. Consulte Noções Básicas de Namespaces do serviço Object Storage para obter mais informações.
Uma lista de URLs mistos é válida. Se a lista de URLs contiver URLs públicos e URLs que exigem autenticação, o
DBMS_CLOUD
usará o credential_name
especificado para acessar os URLs que exigem autenticação e, para os URLs públicos, o credential_name
especificado será ignorado.
Consulte Buckets Públicos para obter informações sobre como usar buckets públicos do Oracle Cloud Infrastructure.
DBMS_CLOUD
:
-
my$home_region
: Especifica a região Home da sua tenancy do OCI (Oracle Cloud Infrastructure).Só há suporte para a variável de substituiçãomy$home_region
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
-
my$region
: Especifica a Região do OCI (Oracle Cloud Infrastructure) do seu Autonomous Database.Só há suporte para a variável de substituiçãomy$region
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
-
my$cloud_domain
: Especifica o nome do domínio do OCI (Oracle Cloud Infrastructure) para o OCI (Oracle Cloud Infrastructure).Só há suporte para a variável de substituiçãomy$cloud_domain
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
-
my$namespace
: Especifica o namespace do Oracle Cloud Infrastructure (OCI) Object Storage.Só há suporte para a variável de substituiçãomy$namespace
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
-
my$compartment
: Especifica o OCID do seu compartimento.Só há suporte para a variável de substituiçãomy$compartment
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
-
my$tenancy
: Especifica o OCID da sua tenancy.Só há suporte para a variável de substituiçãomy$tenancy
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
object_uri => 'https://objectstorage.my$region.my$cloud_domain/n/my$namespace/b/bucket_name/o/file_name'
Tópico principal: DBMS_CLOUD Formatos de URI
Formato de URI do Oracle Cloud Infrastructure Object Storage Classic
Se seus arquivos de origem residirem no Oracle Cloud Infrastructure Object Storage Classic, consulte a página REST para obter uma descrição do formato de URI para acessar seus arquivos: Sobre URLs REST para Recursos do Oracle Cloud Infrastructure Object Storage Classic.
Tópico principal: DBMS_CLOUD Formatos de URI
Variáveis de Substituição nos URLs do OCI (Oracle Cloud Infrastructure)
Você pode fornecer variáveis de substituição predefinidas nos URLs do Oracle Cloud Infrastructure (OCI) ao fornecer o URI do parâmetro object_uri
para os procedimentos e funções DBMS_CLOUD
.
Essas variáveis de substituição são placeholders predefinidos, como my$home_region
e my$tenancy
, que são resolvidos e substituídos pelos valores reais correspondentes com base no contexto de runtime do seu Autonomous Database. Os valores específicos do ambiente, como OCID ou namespace da tenancy, não são codificados, tornando seu código SQL dinâmico e portátil para ser implantado em várias regiões (para APIs REST do OCI).
Veja a seguir as vantagens de usar variáveis de substituição em URLs do OCI:
-
O código SQL é menos propenso a erros porque as variáveis de substituição eliminam a necessidade de fornecer valores codificados. Isso é particularmente útil ao usar identificadores longos.
-
O código SQL é portátil e não específico da região ou do ambiente. O mesmo código SQL pode ser reutilizado e implantado em várias regiões para APIs REST do OCI sem a necessidade de identificar a região atual.
-
O failover entre regiões para o Autonomous Database usando APIs REST do OCI é conveniente e menos propenso a erros.
A seguir está a lista de placeholders suportados:
-
my$home_region
: Especifica a região Home da sua tenancy do OCI (Oracle Cloud Infrastructure).Só há suporte para a variável de substituiçãomy$home_region
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
-
my$region
: Especifica a Região do OCI (Oracle Cloud Infrastructure) do seu Autonomous Database.Só há suporte para a variável de substituiçãomy$region
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
-
my$cloud_domain
: Especifica o nome do domínio do OCI (Oracle Cloud Infrastructure) para o OCI (Oracle Cloud Infrastructure).Só há suporte para a variável de substituiçãomy$cloud_domain
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
-
my$namespace
: Especifica o namespace do Oracle Cloud Infrastructure (OCI) Object Storage.Só há suporte para a variável de substituiçãomy$namespace
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
-
my$compartment
: Especifica o OCID do seu compartimento.Só há suporte para a variável de substituiçãomy$compartment
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
-
my$tenancy
: Especifica o OCID da sua tenancy.Só há suporte para a variável de substituiçãomy$tenancy
com os seguintes tipos de credencial:-
Chave de Assinatura da API do OCI
-
Controlador de Recursos do OCI
-
Credencial de Swift/Token de Autenticação
-
Exemplo de uso de variáveis de substituição predefinidas para acessar um arquivo do serviço Object Storage:
SELECT TO_CLOB(DBMS_CLOUD.GET_OBJECT (
credential_name => credential_name,
object_uri => 'https://objectstorage.my$region.my$cloud_domain/n/my$namespace/b/bucket_name/o/file_name'))
FROM DUAL;
Exemplo de uso de variáveis de substituição predefinidas para acessar o arquivo de relatório de custos do OCI:
SELECT TO_CLOB(DBMS_CLOUD.GET_OBJECT (
credential_name => credential_name,
object_uri => 'https://objectstorage.my$home_region.my$cloud_domain/n/namespace-string/b/my$tenancy/o/reports/cost-csv/file_name.csv.gz',
compression => DBMS_CLOUD.COMPRESS_GZIP))
FROM DUAL;
Tópico principal: DBMS_CLOUD Formatos de URI
Formato de URI do Amazon S3
Se seus arquivos de origem residirem no Amazon S3, consulte o seguinte para obter uma descrição do formato de URI para acessar seus arquivos: Acessando um bucket.
Por exemplo, o seguinte se refere ao arquivo channels.txt
no bucket adb
na região us-west-2
.
https://s3-us-west-2.amazonaws.com/adb/channels.txt
Você pode usar um URL pré-assinado em qualquer procedimento DBMS_CLOUD
que obtenha um URL para acessar arquivos no armazenamento de objetos do Amazon S3, sem a necessidade de criar uma credencial. Para usar um URL pré-assinado em qualquer procedimento DBMS_CLOUD
, especifique o parâmetro credential_name
como NULL
ou não forneça um parâmetro credential_name
.
Consulte Compartilhar um Objeto com Outros para obter mais informações.
O
DBMS_CLOUD
suporta a sintaxe de ponto final padrão do Amazon S3 para acessar seus buckets. O DBMS_CLOUD
não suporta pontos finais legados do Amazon S3. Consulte Pontos Finais Legados para obter mais informações.
Tópico principal: DBMS_CLOUD Formatos de URI
Azure Blob Storage ou Azure Data Lake Storage - Formato de URI
Se os seus arquivos de origem residirem no Azure Blob Storage ou no Azure Data Lake Storage, consulte o seguinte para obter uma descrição do formato de URI para acessar seus arquivos: Sintaxe de URI do Recurso.
Por exemplo, o seguinte se refere ao arquivo channels.txt
no contêiner adb
na conta de armazenamento adb_user
:
https://adb_user.blob.core.windows.net/adb/channels.txt
Você pode usar o URL de Assinaturas de Acesso Compartilhado (SAS) em qualquer procedimento
DBMS_CLOUD
que use um URL para acessar arquivos no Armazenamento Blob do Azure ou no Armazenamento do Data Lake do Azure, sem a necessidade de criar uma credencial. Para usar um URL de Assinatura de Acesso Compartilhado (SAS), especifique o parâmetro credential_name
como NULL
ou não forneça um parâmetro credential_name
.
Consulte Conceder Acesso Limitado a Recursos de Armazenamento do Azure Usando Assinaturas de Acesso Compartilhado (SAS) para obter mais informações.
Tópico principal: DBMS_CLOUD Formatos de URI
Formato de URI Compatível com Amazon S3
O DBMS_CLOUD
suporta implementações de serviço de armazenamento de objetos que suportam URLs compatíveis com o Amazon S3, incluindo os seguintes serviços:
- Oracle Cloud Infrastructure Object Storage com URL compatível com Amazon S3
- Google Cloud Storage com URL compatível com Amazon S3
- Wasabi Hot Cloud Storage com URL compatível com Amazon S3
Para usar o
DBMS_CLOUD
com um armazenamento de objetos compatível com o Amazon S3, você precisa fornecer credenciais válidas. Consulte CREATE_CREDENTIAL Procedures para obter mais informações.
Se seus arquivos de origem residirem em um serviço compatível com URIs do Amazon S3, use o seguinte formato de URI para acessar seus arquivos:
-
URL Compatível com S3 do Oracle Cloud Infrastructure Object Storage
Se seus arquivos de origem residirem no Oracle Cloud Infrastructure Object Storage no realm comercial (OC1), recomendamos que você use o URL do objeto e os formatos de URL do bucket listados abaixo para o realm comercial (OC1). Consulte Pontos Finais Dedicados do Serviço Object Storage para obter mais informações.
Observação
Só há suporte para URLs de ponto final dedicados do OCI Object Store nos realms comerciais (OC1).Formatos de URL do Objeto
-
Suportado somente no realm comercial (OC1):
https://mynamespace.compat.objectstorage.region.oci.customer-oci.com/bucket_name/object_name
-
Suportado em todas as zonas:
https://mynamespace.compat.objectstorage.region.oraclecloud.com/bucket_name/object_name
Formatos de URL do Bucket:
-
Suportado somente no realm comercial (OC1):
https://mynamespace.compat.objectstorage.region.oci.customer-oci.com/bucket_name
-
Suportado em todas as zonas:
https://mynamespace.compat.objectstorage.region.oraclecloud.com/bucket_name
Consulte Compatibilidade com Amazon S3 e API do Serviço Object Storage para obter mais informações.
-
-
URL Compatível com Google Cloud Storage S3
Formato do URL do Objeto:
https://bucketname.storage.googleapis.com/object_name
Formato de URL do Bucket:
https://bucketname.storage.googleapis.com/
Consulte Migrando do Amazon S3 para o Cloud Storage e Pontos Finais de Solicitação para obter mais informações.
-
URL Compatível com Wasabi S3
Formato do URL do Objeto:
https://bucketname.s3.region.wasabisys.com/object_name
Formato de URL do Bucket:
https://bucketname.s3.region.wasabisys.com/
Consulte Referência da API S3 do Wasabi e URLs de Serviço para Regiões de Armazenamento do Wasabi para obter mais informações.
Tópico principal: DBMS_CLOUD Formatos de URI
GitHub Formato de URL Bruto
O DBMS_CLOUD
suporta URLs Brutos GitHub para acessar dados de um Repositório GitHub.
Para acesso ao
DBMS_CLOUD
com URLs Brutos do GitHub, o acesso ao repositório é limitado à funcionalidade somente leitura. As APIs DBMS_CLOUD
como DBMS_CLOUD.PUT_OBJECT
que gravam dados não são suportadas com APIs DBMS_CLOUD
em um Repositório GitHub.
Como alternativa, use DBMS_CLOUD_REPO.PUT_FILE
para fazer upload de dados para um Repositório GitHub.
Use URLs Brutos GitHub com APIs DBMS_CLOUD
para acessar arquivos de origem que residem em um Repositório GitHub. Quando você procura um arquivo em GitHub e clica no link Bruto, isso mostra o URL Bruto GitHub. O domínio raw.githubusercontent.com
fornece versões não processadas de arquivos armazenados em repositórios GitHub.
Por exemplo, usando DBMS_CLOUD.GET_OBJECT
:
BEGIN
DBMS_CLOUD.GET_OBJECT
(
credential_name => 'MY_CRED',
object_uri => 'https://raw.githubusercontent.com/myaccount/myrepo/master/data-management-library/autonomous-database/adb-loading.csv',
directory_name => 'DATA_PUMP_DIR'
);
END;
/
Por exemplo, usando DBMS_CLOUD.CREATE_EXTERNAL_TABLE
:
BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_TABLE
(
credential_name => 'MY_CRED',
table_name => 'EMPLOYEES_EXT',
file_uri_list => 'https://raw.githubusercontent.com/myaccount/myrepo/master/data-management-library/autonomous-database/*.csv',
column_list => 'name varchar2(30), gender varchar2(30), salary number',
format => JSON_OBJECT('type' value 'csv')
);
END;
/
SELECT * FROM employees_ext;
Os procedimentos DBMS_CLOUD
que utilizam um URL para acessar um Repositório GitHub não exigem credenciais com repositórios GitHub de visibilidade pública. Para usar um URL de visibilidade pública, você pode especificar o parâmetro credential_name
como NULL
ou não fornecer um parâmetro credential_name
. Consulte Definindo a visibilidade do repositório para obter mais informações.
Tópico principal: DBMS_CLOUD Formatos de URI
Formatos de URI Adicionais Gerenciados pelo Cliente
URIs
reconhecido pré-configurado com seus nomes de domínio totalmente qualificados (FQDNs
), o DBMS_CLOUD
não pode determinar o esquema de autenticação adequado para os pontos finais gerenciados pelo cliente URIs
. Nesses casos, o DBMS_CLOUD
conta com o esquema URI
adequado para identificar o esquema de autenticação do ponto final gerenciado pelo cliente.
Esquema do URI | Tipo de Autenticação | Descrição do Método de Acesso | Exemplo de URI |
---|---|---|---|
básico:// | Autenticação básica | O nome de usuário e a senha armazenados no objeto de credencial do banco de dados são usados para autenticar a solicitação HTTP | basic://api.github.com/users/myaccount |
bearer:// | Autenticação de token do portador | O token do portador armazenado no campo de senha no objeto de credencial do banco de dados é usado para especificar o cabeçalho de Autorização para a solicitação HTTP | bearer://api.sendgrid.com/v3/resource |
oci:// | Nativo da OCI | Chave de assinatura do OCI obtida do objeto de credencial de banco de dados armazenado e usada para assinar solicitações usando o protocolo de autenticação do OCI | oci://objectstorage.us-ashburn-1.oraclecloud.com |
public:// | Nenhuma autenticação | URLs Públicas | public://cms.data.gov/ |
s3:// | Compatível com Amazon Web Services S3 | Chave de acesso e chave secreta obtidas no campo de nome de usuário/senha do objeto de credencial do banco de dados e autenticação compatível com S3 executada para a solicitação HTTP. | s3://bucket.myprivatesite.com/file1.csv |
Exemplos:
Ponto final gerenciado pelo cliente usando autenticação compatível com S3.
Este exemplo mostra como para o novo URIs
, os clientes podem adicionar o padrão de nome de host público ou privado usando o pacote DBMS_NETWORK_ACL_ADMIN
. O bloco de código, executado pelo usuário ADMIN
, permite que o acesso HTTPS
do usuário SCOTT
aos pontos finais no domínio *.myprivatesite.com
. Em seguida, ele mostra como o usuário SCOTT
acessa o ponto final recém-ativado. Observe que a credencial MY_CRED
para o usuário SCOTT
deve armazenar a chave de acesso e a chave secreta para autenticação compatível com S3 executada para a solicitação HTTP
indicada pelo prefixo URI
.
BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => '*.myprivatesite.com',
ace => xs$ace_type(privilege_list => xs$name_list('http'),
principal_name => 'SCOTT',
principal_type => xs_acl.ptype_db),
private_target => TRUE );
END;
/
BEGIN
DBMS_CLOUD.get_object(
credential_name => 'MY_CRED',
object_uri => 's3://bucket.myprivatesite.com/file1.csv',
directory_name => 'MY_DIR' );
END;
/
Ponto final gerenciado pelo cliente com acesso público
Este exemplo mostra como registrar o usuário SCOTT
para acessar APIs REST públicas. O usuário ADMIN
cria uma ACL de rede para que o host forneça acesso ao usuário SCOTT
.
BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => 'data.cms.gov',
ace => xs$ace_type(privilege_list => xs$name_list('http'),
principal_name => 'SCOTT',
principal_type => xs_acl.ptype_db)
);
END;
/
SELECT DBMS_CLOUD.get_response_text(
DBMS_CLOUD.send_request(
uri => 'public://data.cms.gov/provider-data/api/1/datastore/imports/a',
method => DBMS_CLOUD.METHOD_GET,
headers => JSON_OBJECT('Accept' VALUE 'application/json')
)
)
FROM DUAL;
/
Tópico principal: DBMS_CLOUD Formatos de URI