Formatos de URI do Cloud Object Storage
Este artigo descreve o formato dos URIs de arquivo de origem em operações com DBMS_CLOUD
. O formato depende do serviço de armazenamento de objetos que você está usando. O DBMS_CLOUD
garante comunicação segura e qualquer URI que você especificará deverá usar HTTPS, com https://
como prefixo do URI.
Formato de URI Nativo do Oracle Cloud Infrastructure Object Storage
Observação:
O Autonomous Database oferece suporte apenas a buckets de armazenamento de camada padrão. Ele não oferece suporte a buckets de armazenamento na camada de arquivo compactado.Se seus arquivos de origem residirem no Oracle Cloud Infrastructure Object Storage no realm comercial (OC1), é recomendável usar o formato de URI a seguir, que usa Pontos Finais Dedicados do 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
Observação:
Os URLs de ponto final dedicados do OCI Object Store só são suportados em realms comerciais (OC1) e estão disponíveis na versão 19.24 e posterior.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
corresponde ao namespace do armazenamento de objetos do Oracle Cloud Infrastructure e bucketname
corresponde ao nome do bucket. Consulte Noções Básicas de Namespaces do serviço Object Storage para obter mais informações.
Você pode encontrar o URI nos "Detalhes do Objeto" do Oracle Cloud Infrastructure Object Storage no menu de reticências no lado direito do Armazenamento de Objetos:
- 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 Principal. Em Object Storage, clique em Object Storage.
- Em Escopo da Lista, 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.
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), é recomendável usar o formato de URI a seguir, que usa Pontos Finais Dedicados do 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
Observação:
Os URLs de ponto final dedicados do OCI Object Store só são suportados em realms comerciais (OC1) e estão disponíveis na versão 19.24 e posterior.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 para o 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
corresponde ao namespace do armazenamento de objetos do Oracle Cloud Infrastructure e bucketname
corresponde ao nome do bucket. Consulte Noções Básicas de Namespaces do serviço Object Storage para obter mais informações.
Observação:
Os arquivos de origem precisam ser armazenados em um bucket da camada de Armazenamento de Objetos. O Autonomous Database não oferece suporte a buckets na camada de Armazenamento de Arquivos Compactados. Consulte Visão Geral do Serviço Object Storage para obter mais informações.
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. Você então poderá fornecer o URL exclusivo aos usuários da sua organização, parceiros ou terceiros para acessar o destino de recursos do Armazenamento de Objetos identificado na solicitação pré-autenticada.
Observação:
Avalie com cuidado 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, observe a Expiração e o Tipo de Acesso para garantir que sejam apropriados para seu uso.Um URL de solicitação pré-autenticada fornece a todos os que têm o URL acesso aos destinos identificados na solicitação, desde que a solicitação esteja ativa. Além de considerar as necessidades operacionais do acesso pré-autenticado, é igualmente importante gerenciar a distribuição.
Se seus arquivos de origem residirem no Oracle Cloud Infrastructure Object Storage no realm comercial (OC1), é recomendável usar o formato de URI a seguir, que usa Pontos Finais Dedicados do 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
Observação:
Os URLs de ponto final dedicados do OCI Object Store só são suportados em realms comerciais (OC1) e estão disponíveis na versão 19.24 e posterior.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), um URI pré-autenticado de amostra 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
corresponde ao namespace do armazenamento de objetos do Oracle Cloud Infrastructure e bucketname
corresponde ao 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 extraia um URL para acessar arquivos no armazenamento de objetos do Oracle Cloud Infrastructure, sem a necessidade de criar uma credencial. Você precisa especificar o parâmetro credential_name
como NULL
ou não fornecer 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;
/
Observação:
Uma lista de URLs mistos é válida. Se a lista de URLs contiver URLs pré-autenticados e URLs que exijam autenticação, oDBMS_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.
Formato de URI do Amazon S3
Se seus arquivos de origem residirem no Amazon S3, consulte o seguinte tópico para obter uma descrição do formato do URI para acessar seus arquivos: Acessando um bucket.
Por exemplo, a seguinte seção se refere ao arquivo channels.txt
no bucket atpc
na região us-west-2
.
https://s3-us-west-2.amazonaws.com/atpc/channels.txt
Você pode usar um URL pré-assinado em qualquer procedimento DBMS_CLOUD
que extraia 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 Share an Object with Others para obter mais informações.
Observação:
ODBMS_CLOUD
suporta a sintaxe de ponto final padrão do Amazon S3 para acessar buckets. O DBMS_CLOUD
não suporta pontos finais legados do Amazon S3. Consulte Pontos Finais Legados para obter mais informações.
Formato de URI do Azure Blob Storage
Se seus arquivos de origem residirem no Azure Blob Storage, consulte o seguinte tópico para obter uma descrição do formato de URI para acessar seus arquivos: Sintaxe de URI de Recursos.
Por exemplo, a seguir, consulte o arquivo channels.txt
no contêiner atpc
na conta de armazenamento atpc_user
:
https://atpc_user.blob.core.windows.net/atpc/channels.txt
Observação:
Você pode usar o URL de Assinaturas de Acesso Compartilhado (SAS) em qualquer procedimentoDBMS_CLOUD
que extraia um URL para acessar arquivos no Azure Blob Storage, 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 aos Recursos de Armazenamento do Azure Usando Assinaturas de Acesso Compartilhado (SAS) para obter mais informações.
Formato de URI compatível com Amazon S3
O DBMS_CLOUD
suporta implementações do serviço de armazenamento de objetos que aceitam 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
Observação:
Para usar oDBMS_CLOUD
com um armazenamento de objetos compatível com Amazon S3, forneça credenciais válidas. Consulte CREATE_CREDENTIAL Procedure para obter mais informações.
Se seus arquivos de origem residirem em um serviço que suporte URIs compatíveis com o 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), é recomendável usar 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:
Os URLs de ponto final dedicados do OCI Object Store só são suportados em realms comerciais (OC1) e estão disponíveis na versão 19.24 e posterior.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 de 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 Object Storage Service para obter mais informações.
-
-
Google Cloud Storage S3 URL compatível
Formato de 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.
-
Wasabi S3 URL compatível
Formato de 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 de API S3 do Wasabi e URLs de Serviço para Regiões de Armazenamento do Wasabi para obter mais informações.
Formatos de URI Gerenciados pelo Cliente Adicionais
URIs
reconhecido e 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 pontos finais gerenciados pelo cliente URIs
. Nesses casos, DBMS_CLOUD
conta com o esquema URI
adequado para identificar o esquema de autenticação para o 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 do OCI | Chave de assinatura do OCI obtida do objeto de credencial do banco de dados armazenado e usado 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úblicos | public://cms.data.gov/ |
s3:// | Compatível com Amazon Web Services S3 | Chave de acesso e chave secreta obtidas do 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 o acesso HTTPS
do usuário SCOTT
aos pontos finais no domínio *.myprivatesite.com
. Em seguida, mostra como o usuário SCOTT
acessa o ponto final recém-ativado. Observe que a credencial MY_CRED
do 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 o host a fim de fornecer 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;
/