Formati URI DBMS_CLOUD
Descrive il formato degli URI del file di origine nelle operazioni con DBMS_CLOUD
. Il formato dipende dal servizio di storage degli oggetti in uso.
DBMS_CLOUD
garantisce la comunicazione sicura e qualsiasi URI specificato deve utilizzare HTTPS, con https://
come prefisso per l'URI.
- Formato URI nativo di Oracle Cloud Infrastructure Object Storage
- Formato URI Swift di Oracle Cloud Infrastructure Object Storage
- Formato URI di Oracle Cloud Infrastructure Object Storage mediante l'URL della richiesta preautenticata
- Formato URI mediante URL pubblico
- Formato URI di Oracle Cloud Infrastructure Object Storage Classic
- Variabili di sostituzione negli URL di Oracle Cloud Infrastructure (OCI)
È possibile fornire variabili di sostituzione predefinite negli URL OCI (Oracle Cloud Infrastructure) quando si fornisce l'URI per il parametroobject_uri
per le procedure e le funzioniDBMS_CLOUD
. - Formato URI Amazon S3
- Formato URI di Azure Blob Storage o Azure Data Lake Storage
- Formato URI compatibile con Amazon S3
- GitHub Formato URL raw
DBMS_CLOUD
supporta gli URL raw GitHub per accedere ai dati da un repository GitHub. - Formati URI aggiuntivi gestiti dal cliente
Oltre all'indirizzoURIs
preconfigurato e riconosciuto con i relativi nomi di dominio completamente qualificati (FQDNs
),DBMS_CLOUD
non può determinare lo schema di autenticazione appropriato per gli endpoint gestiti dal clienteURIs
. In questi casi,DBMS_CLOUD
si basa sullo schemaURI
appropriato per identificare lo schema di autenticazione per l'endpoint gestito dal cliente.
Argomento padre: Pacchetto DBMS_CLOUD
Formato URI nativo di Oracle Cloud Infrastructure Object Storage
Se i file di origine risiedono in Oracle Cloud Infrastructure Object Storage nel realm commerciale (OC1), si consiglia di utilizzare il formato URI seguente che utilizza gli endpoint dedicati dello storage degli oggetti. Per ulteriori informazioni, vedere Endpoint dedicati dello storage degli oggetti.
https://namespace-string.objectstorage.region.oci.customer-oci.com/n/namespace-string/b/bucketname/o/filename
Gli URL degli endpoint dedicati dell'area di memorizzazione degli oggetti OCI sono supportati solo nei realm commerciali (OC1).
Se i file di origine risiedono in Oracle Cloud Infrastructure Object Storage e non si trovano nel realm commerciale (OC1), è necessario utilizzare il seguente formato:
https://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucket/o/filename
Ad esempio, nel realm commerciale (OC1) l'URI nativo per il file channels.txt
nel bucket bucketname
nel data center Phoenix
è:
https://namespace.objectstorage.region.oci.customer-oci.com/n/namespace/b/bucketname/o/channels.txt
In questo esempio, namespace-string
è lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure e bucketname
è il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti.
DBMS_CLOUD
:
-
my$home_region
: specifica l'area di origine della tenancy Oracle Cloud Infrastructure (OCI).La variabile di sostituzionemy$home_region
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
-
my$region
: specifica l'area Oracle Cloud Infrastructure (OCI) dell'Autonomous Database.La variabile di sostituzionemy$region
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
-
my$cloud_domain
: specifica il nome di dominio di Oracle Cloud Infrastructure (OCI) per Oracle Cloud Infrastructure (OCI).La variabile di sostituzionemy$cloud_domain
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
-
my$namespace
: specifica lo spazio di nomi di Oracle Cloud Infrastructure (OCI) Object Storage.La variabile di sostituzionemy$namespace
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
-
my$compartment
: specifica l'OCID del compartimento.La variabile di sostituzionemy$compartment
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
-
my$tenancy
: specifica l'OCID della tenancy.La variabile di sostituzionemy$tenancy
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
object_uri => 'https://objectstorage.my$region.my$cloud_domain/n/my$namespace/b/bucket_name/o/file_name'
Puoi trovare l'URI da "Dettagli oggetto" di Oracle Cloud Infrastructure Object Storage nel menu con i puntini di sospensione del lato destro nell'area di memorizzazione degli oggetti:
- Apri la console di Oracle Cloud Infrastructure facendo clic sul
accanto a Oracle Cloud.
- Dal menu di navigazione a sinistra di Oracle Cloud Infrastructure fai clic su Infrastruttura di base. In Storage degli oggetti fare clic su Storage degli oggetti.
- In Ambito lista selezionare un Compartimento.
- Nella colonna Nome selezionare un bucket.
- Nell'area Oggetti fare clic su Visualizza dettagli oggetto.
- Nella pagina Dettagli oggetto, il campo Percorso URL (URI) mostra l'URI per accedere all'oggetto.
I file di origine devono essere memorizzati in un bucket a livello di storage degli oggetti. Autonomous Database non supporta i bucket nel livello di storage di archivio. Per ulteriori informazioni, vedere Panoramica dello storage degli oggetti.
Argomento padre: DBMS_CLOUD Formati URI
Formato URI Swift di Oracle Cloud Infrastructure Object Storage
Se i file di origine risiedono in Oracle Cloud Infrastructure Object Storage nel realm commerciale (OC1), si consiglia di utilizzare il formato URI seguente che utilizza gli endpoint dedicati dello storage degli oggetti. Per ulteriori informazioni, vedere Endpoint dedicati dello storage degli oggetti.
https://namespace-string.swiftobjectstorage.region.oci.customer-oci.com/v1/namespace-string/bucket/filename
Gli URL degli endpoint dedicati di OCI Object Store sono supportati solo nei realm commerciali (OC1).
Se i file di origine risiedono in Oracle Cloud Infrastructure Object Storage e non si trovano nel realm commerciale (OC1), è necessario utilizzare il seguente formato:
https://swiftobjectstorage.region.oraclecloud.com/v1/namespace-string/bucket/filename
Ad esempio, nel realm commerciale (OC1) l'URI Swift per il file channels.txt
nel bucket bucketname
nel data center Phoenix
è:
https://namespace-string.swiftobjectstorage.us-phoenix-1.oci.customer-oci.com/v1/namespace-string/bucketname/channels.txt
In questo esempio, namespace-string
è lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure e bucketname
è il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti.
I file di origine devono essere memorizzati in un bucket a livello di storage degli oggetti. Autonomous Database non supporta i bucket nel livello di storage di archivio. Per ulteriori informazioni, vedere Panoramica dello storage degli oggetti.
-
my$home_region
: specifica l'area di origine della tenancy Oracle Cloud Infrastructure (OCI).La variabile di sostituzionemy$home_region
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
-
my$region
: specifica l'area Oracle Cloud Infrastructure (OCI) dell'Autonomous Database.La variabile di sostituzionemy$region
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
-
my$cloud_domain
: specifica il nome di dominio di Oracle Cloud Infrastructure (OCI) per Oracle Cloud Infrastructure (OCI).La variabile di sostituzionemy$cloud_domain
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
-
my$namespace
: specifica lo spazio di nomi di Oracle Cloud Infrastructure (OCI) Object Storage.La variabile di sostituzionemy$namespace
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
-
my$compartment
: specifica l'OCID del compartimento.La variabile di sostituzionemy$compartment
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
-
my$tenancy
: specifica l'OCID della tenancy.La variabile di sostituzionemy$tenancy
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
Argomento padre: DBMS_CLOUD Formati URI
Formato URI di Oracle Cloud Infrastructure Object Storage mediante l'URL della richiesta preautenticata
Se i file di origine risiedono in Oracle Cloud Infrastructure Object Storage, puoi utilizzare gli URI preautenticati di Oracle Cloud Infrastructure. Quando si crea una richiesta preautenticata, viene generato un URL univoco. Puoi quindi fornire l'URL univoco agli utenti dell'organizzazione, dei partner o di terze parti per accedere alla destinazione delle risorse di storage degli oggetti identificata nella richiesta preautenticata.
Valutare con attenzione i requisiti aziendali e le ramificazioni della sicurezza dell'accesso preautenticato. Quando si crea l'URL della richiesta preautenticata, prendere nota della scadenza e del tipo di accesso per assicurarsi che siano appropriati per l'uso.
Un URL di richiesta preautenticato consente a chiunque disponga dell'accesso URL alle destinazioni identificate nella richiesta per tutto il tempo in cui la richiesta è attiva. Oltre a considerare le esigenze operative dell'accesso preautenticato, è altrettanto importante gestirne la distribuzione.
Se i file di origine risiedono in Oracle Cloud Infrastructure Object Storage nel realm commerciale (OC1), si consiglia di utilizzare il formato URI seguente che utilizza gli endpoint dedicati dello storage degli oggetti. Per ulteriori informazioni, vedere Endpoint dedicati dello storage degli oggetti.
https://namespace-string.objectstorage.region.oci.customer-oci.com/p/encrypted_string/n/namespace-string/b/bucket/o/filename
Gli URL degli endpoint dedicati di OCI Object Store sono supportati solo nei realm commerciali (OC1).
Se i file di origine risiedono in Oracle Cloud Infrastructure Object Storage e non si trovano nel realm commerciale (OC1), è necessario utilizzare il seguente formato:
https://objectstorage.region.oraclecloud.com.com/p/encrypted_string/n/namespace-string/b/bucket/o/filename
Ad esempio, nel realm commerciale (OC1) un URI preautenticato di esempio per il file channels.txt
nel bucket nome bucket nel 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
In questo esempio, namespace-string
è lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure e bucketname
è il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti.
È possibile utilizzare un URL preautenticato in qualsiasi procedura DBMS_CLOUD
che richiede un URL per accedere ai file nell'area di memorizzazione degli oggetti di Oracle Cloud Infrastructure, senza dover creare una credenziale. Specificare il parametro credential_name
come NULL
oppure non fornire un parametro credential_name
.
Ad esempio:
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;
/
Una lista di URL misti è valida. Se la lista di URL contiene sia URL preautenticati che URL che richiedono l'autenticazione,
DBMS_CLOUD
utilizza il credential_name
specificato per accedere agli URL che richiedono l'autenticazione e per gli URL preautenticati il credential_name
specificato viene ignorato.
Per ulteriori informazioni, vedere Utilizzo delle richieste preautenticate.
DBMS_CLOUD
:
-
my$home_region
: specifica l'area di origine della tenancy Oracle Cloud Infrastructure (OCI).La variabile di sostituzionemy$home_region
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
-
my$region
: specifica l'area Oracle Cloud Infrastructure (OCI) dell'Autonomous Database.La variabile di sostituzionemy$region
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
-
my$cloud_domain
: specifica il nome di dominio di Oracle Cloud Infrastructure (OCI) per Oracle Cloud Infrastructure (OCI).La variabile di sostituzionemy$cloud_domain
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
-
my$namespace
: specifica lo spazio di nomi di Oracle Cloud Infrastructure (OCI) Object Storage.La variabile di sostituzionemy$namespace
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
-
my$compartment
: specifica l'OCID del compartimento.La variabile di sostituzionemy$compartment
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
-
my$tenancy
: specifica l'OCID della tenancy.La variabile di sostituzionemy$tenancy
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
object_uri => 'https://objectstorage.my$region.my$cloud_domain/n/my$namespace/b/bucket_name/o/file_name'
Argomento padre: DBMS_CLOUD Formati URI
Formato URI mediante URL pubblico
Se i file di origine risiedono in un'area di memorizzazione degli oggetti che fornisce URL pubblici, è possibile utilizzare URL pubblici con le procedure DBMS_CLOUD
. Pubblico indica che il servizio di storage degli oggetti supporta l'accesso anonimo e non autenticato ai file dell'area di memorizzazione degli oggetti. Consulta il servizio di storage degli oggetti cloud per i dettagli su come rendere pubblico un oggetto in un'area di memorizzazione degli oggetti supportata.
Valutare con attenzione i requisiti aziendali e le ramificazioni di sicurezza dell'utilizzo degli URL pubblici. Quando si utilizzano URL pubblici, a causa del contenuto del file non autenticato, assicurarsi che sia appropriato per l'uso.
È possibile utilizzare un URL pubblico in qualsiasi procedura DBMS_CLOUD
che richiede un URL per accedere ai file nell'area di memorizzazione degli oggetti, senza la necessità di creare una credenziale. Specificare il parametro credential_name
come NULL
oppure non fornire un parametro credential_name
.
Ad esempio, si utilizza DBMS_CLOUD.COPY_DATA
senza 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;
/
In questo esempio, namespace-string
è lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure e bucketname
è il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti.
Una lista di URL misti è valida. Se la lista di URL contiene sia URL pubblici che URL che richiedono l'autenticazione,
DBMS_CLOUD
utilizza il credential_name
specificato per accedere agli URL che richiedono l'autenticazione e per gli URL pubblici il credential_name
specificato viene ignorato.
Consulta i bucket pubblici per informazioni sull'uso dei bucket pubblici di Oracle Cloud Infrastructure.
DBMS_CLOUD
:
-
my$home_region
: specifica l'area di origine della tenancy Oracle Cloud Infrastructure (OCI).La variabile di sostituzionemy$home_region
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
-
my$region
: specifica l'area Oracle Cloud Infrastructure (OCI) dell'Autonomous Database.La variabile di sostituzionemy$region
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
-
my$cloud_domain
: specifica il nome di dominio di Oracle Cloud Infrastructure (OCI) per Oracle Cloud Infrastructure (OCI).La variabile di sostituzionemy$cloud_domain
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
-
my$namespace
: specifica lo spazio di nomi di Oracle Cloud Infrastructure (OCI) Object Storage.La variabile di sostituzionemy$namespace
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
-
my$compartment
: specifica l'OCID del compartimento.La variabile di sostituzionemy$compartment
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
-
my$tenancy
: specifica l'OCID della tenancy.La variabile di sostituzionemy$tenancy
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
object_uri => 'https://objectstorage.my$region.my$cloud_domain/n/my$namespace/b/bucket_name/o/file_name'
Argomento padre: DBMS_CLOUD Formati URI
Formato URI di Oracle Cloud Infrastructure Object Storage Classic
Se i file di origine risiedono in Oracle Cloud Infrastructure Object Storage Classic, vedere la pagina REST per una descrizione del formato URI per l'accesso ai file: Informazioni sugli URL REST per le risorse di Oracle Cloud Infrastructure Object Storage Classic.
Argomento padre: DBMS_CLOUD Formati URI
Variabili di sostituzione negli URL di Oracle Cloud Infrastructure (OCI)
È possibile fornire variabili di sostituzione predefinite negli URL OCI (Oracle Cloud Infrastructure) quando si fornisce l'URI per il parametro object_uri
per le procedure e le funzioni DBMS_CLOUD
.
Queste variabili di sostituzione sono segnaposto predefiniti, ad esempio my$home_region
e my$tenancy
, che vengono risolti e sostituiti con i valori effettivi corrispondenti in base al contesto di runtime dell'Autonomous Database. I valori specifici dell'ambiente, come l'OCID della tenancy o lo spazio di nomi, non sono di tipo hard coded, rendendo il codice SQL dinamico e portatile da distribuire in più aree (per le API REST OCI).
Di seguito sono riportati i vantaggi derivanti dall'uso delle variabili di sostituzione negli URL OCI.
-
Il codice SQL è meno soggetto a errori perché le variabili di sostituzione eliminano la necessità di fornire valori non modificabili. Questo è particolarmente utile quando si utilizzano identificatori lunghi.
-
Il codice SQL è portatile e non specifico dell'area o dell'ambiente. Lo stesso codice SQL può essere riutilizzato e distribuito in più aree per le API REST OCI senza dover identificare l'area corrente.
-
Il failover tra più aree per Autonomous Database che utilizza le API REST OCI è comodo e meno soggetto a errori.
Di seguito è riportato l'elenco dei segnaposto supportati:
-
my$home_region
: specifica l'area di origine della tenancy Oracle Cloud Infrastructure (OCI).La variabile di sostituzionemy$home_region
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
-
my$region
: specifica l'area Oracle Cloud Infrastructure (OCI) dell'Autonomous Database.La variabile di sostituzionemy$region
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
-
my$cloud_domain
: specifica il nome di dominio di Oracle Cloud Infrastructure (OCI) per Oracle Cloud Infrastructure (OCI).La variabile di sostituzionemy$cloud_domain
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
-
my$namespace
: specifica lo spazio di nomi di Oracle Cloud Infrastructure (OCI) Object Storage.La variabile di sostituzionemy$namespace
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
-
my$compartment
: specifica l'OCID del compartimento.La variabile di sostituzionemy$compartment
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
-
my$tenancy
: specifica l'OCID della tenancy.La variabile di sostituzionemy$tenancy
è supportata solo con i seguenti tipi di credenziali:-
Chiave di firma API OCI
-
Principal risorse OCI
-
Token di autenticazione/credenziale di spostamento
-
Esempio di utilizzo di variabili di sostituzione predefinite per accedere a un file di storage degli oggetti:
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;
Esempio di utilizzo di variabili di sostituzione predefinite per accedere al file dei report sui costi 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;
Argomento padre: DBMS_CLOUD Formati URI
Formato URI Amazon S3
Se i file di origine risiedono in Amazon S3, vedere quanto segue per una descrizione del formato URI per l'accesso ai file: Accesso a un bucket.
Ad esempio, quanto riportato di seguito fa riferimento al file channels.txt
nel bucket adb
nell'area us-west-2
.
https://s3-us-west-2.amazonaws.com/adb/channels.txt
È possibile utilizzare un URL preselezionato in qualsiasi procedura DBMS_CLOUD
che richiede un URL per accedere ai file nell'area di memorizzazione degli oggetti Amazon S3, senza la necessità di creare una credenziale. Per utilizzare un URL predefinito in qualsiasi procedura DBMS_CLOUD
, specificare il parametro credential_name
come NULL
oppure non fornire un parametro credential_name
.
Per ulteriori informazioni, vedere Condividi un oggetto con altri.
DBMS_CLOUD
supporta la sintassi standard dell'endpoint Amazon S3 per accedere ai bucket. DBMS_CLOUD
non supporta gli endpoint legacy di Amazon S3. Per ulteriori informazioni, vedere Endpoint precedenti.
Argomento padre: DBMS_CLOUD Formati URI
Formato URI di Azure Blob Storage o Azure Data Lake Storage
Se i file di origine risiedono in Azure Blob Storage o Azure Data Lake Storage, vedere quanto segue per una descrizione del formato URI per l'accesso ai file: Sintassi URI risorsa.
Ad esempio, quanto riportato di seguito fa riferimento al file channels.txt
nel contenitore adb
nell'account di storage adb_user
:
https://adb_user.blob.core.windows.net/adb/channels.txt
È possibile utilizzare l'URL delle firme di accesso condivise (SAS) in qualsiasi procedura
DBMS_CLOUD
che richiede un URL per accedere ai file in Azure Blob Storage o Azure Data Lake Storage, senza la necessità di creare una credenziale. Per utilizzare un URL della firma di accesso condivisa (SAS), specificare il parametro credential_name
come NULL
oppure non fornire un parametro credential_name
.
Per ulteriori informazioni, vedere Concedere l'accesso limitato alle risorse di Azure Storage utilizzando le firme di accesso condiviso (SAS).
Argomento padre: DBMS_CLOUD Formati URI
Formato URI compatibile con Amazon S3
DBMS_CLOUD
supporta implementazioni di servizi di storage degli oggetti che supportano gli URL compatibili con Amazon S3, inclusi i seguenti servizi:
- Oracle Cloud Infrastructure Object Storage con URL compatibile con Amazon S3
- Google Cloud Storage con URL compatibile con Amazon S3
- Wasabi Hot Cloud Storage con URL compatibile con Amazon S3
Per utilizzare
DBMS_CLOUD
con un'area di memorizzazione degli oggetti compatibile con Amazon S3, è necessario fornire credenziali valide. Per ulteriori informazioni, vedere CREATE_CREDENTIAL Procedure.
Se i file sorgente risiedono in un servizio che supporta URI compatibili con Amazon S3, utilizzare il seguente formato URI per accedere ai file:
-
URL compatibile di Oracle Cloud Infrastructure Object Storage S3
Se i file di origine risiedono in Oracle Cloud Infrastructure Object Storage nel realm commerciale (OC1), si consiglia di utilizzare i formati URL oggetto e URL bucket elencati di seguito per il realm commerciale (OC1). Per ulteriori informazioni, vedere Endpoint dedicati dello storage degli oggetti.
Nota
Gli URL degli endpoint dedicati di OCI Object Store sono supportati solo nei realm commerciali (OC1).Formati URL oggetto
-
Supportato solo nel realm commerciale (OC1):
https://mynamespace.compat.objectstorage.region.oci.customer-oci.com/bucket_name/object_name
-
Supportato in tutte le zone:
https://mynamespace.compat.objectstorage.region.oraclecloud.com/bucket_name/object_name
Formati URL bucket:
-
Supportato solo nel realm commerciale (OC1):
https://mynamespace.compat.objectstorage.region.oci.customer-oci.com/bucket_name
-
Supportato in tutte le zone:
https://mynamespace.compat.objectstorage.region.oraclecloud.com/bucket_name
Per ulteriori informazioni, consulta le sezioni relative alla compatibilità di Amazon S3 e all'API del servizio di storage degli oggetti.
-
-
URL compatibile con Google Cloud Storage S3
Formato URL oggetto:
https://bucketname.storage.googleapis.com/object_name
Formato URL bucket:
https://bucketname.storage.googleapis.com/
Per ulteriori informazioni, consulta la sezione relativa alla migrazione da Amazon S3 allo storage cloud e agli endpoint delle richieste.
-
URL compatibile con Wasabi S3
Formato URL oggetto:
https://bucketname.s3.region.wasabisys.com/object_name
Formato URL bucket:
https://bucketname.s3.region.wasabisys.com/
Per ulteriori informazioni, consulta Wasabi S3 API Reference e URL di servizio per le aree di storage di Wasabi.
Argomento padre: DBMS_CLOUD Formati URI
Formato URL non elaborato GitHub
DBMS_CLOUD
supporta gli URL raw GitHub per accedere ai dati da un repository GitHub.
Per l'accesso a
DBMS_CLOUD
con URL raw GitHub, l'accesso al repository è limitato alla funzionalità di sola lettura. Le interfacce API DBMS_CLOUD
, ad esempio DBMS_CLOUD.PUT_OBJECT
, che scrivono dati non sono supportate con le interfacce API DBMS_CLOUD
in un repository GitHub.
In alternativa, utilizzare DBMS_CLOUD_REPO.PUT_FILE
per caricare i dati in un repository GitHub.
Utilizzare URL raw GitHub con API DBMS_CLOUD
per accedere ai file di origine che risiedono in un repository GitHub. Quando si passa a un file in GitHub e si fa clic sul collegamento Raw, viene visualizzato l'URL raw GitHub. Il dominio raw.githubusercontent.com
fornisce versioni non elaborate dei file memorizzati nei repository GitHub.
Ad esempio, utilizzando 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;
/
Ad esempio, utilizzando 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;
Le procedure DBMS_CLOUD
che utilizzano un URL per accedere a un repository GitHub non richiedono credenziali con repository GitHub di visibilità pubblica. Per utilizzare un URL di visibilità pubblico, è possibile specificare il parametro credential_name
come NULL
o non fornire un parametro credential_name
. Per ulteriori informazioni, vedere Impostazione della visibilità del repository.
Argomento padre: DBMS_CLOUD Formati URI
Formati URI aggiuntivi gestiti dal cliente
URIs
preconfigurato e riconosciuto con i nomi di dominio completamente qualificati (FQDNs
), DBMS_CLOUD
non può determinare lo schema di autenticazione appropriato per gli endpoint gestiti dal cliente URIs
. In questi casi, DBMS_CLOUD
si basa sullo schema URI
appropriato per identificare lo schema di autenticazione per l'endpoint gestito dal cliente.
Schema URI | Tipo di autenticazione | Descrizione metodo di accesso | Esempio di URI |
---|---|---|---|
basic:// | Autenticazione Basic | Il nome utente e la password memorizzati nell'oggetto credenziali del database vengono utilizzati per autenticare la richiesta HTTP | basic://api.github.com/users/myaccount |
portatore:// | Autenticazione token bearer | Il token bearer memorizzato nel campo della password nell'oggetto delle credenziali del database viene utilizzato per specificare l'intestazione di autorizzazione per la richiesta HTTP | bearer://api.sendgrid.com/v3/resource |
oci:// | OCI nativo | Chiave di firma OCI ottenuta dall'oggetto credenziale del database memorizzato e utilizzato per firmare le richieste utilizzando il protocollo di autenticazione OCI | oci://objectstorage.us-ashburn-1.oraclecloud.com |
public:// | Nessun'autenticazione | URL pubblici | public://cms.data.gov/ |
s3:// | Compatibile con Amazon Web Services S3 | Chiave di accesso e chiave segreta ottenuta dal campo nome utente/password dell'oggetto credenziale del database e autenticazione compatibile con S3 eseguita per la richiesta HTTP. | s3://bucket.myprivatesite.com/file1.csv |
Esempi:
Endpoint gestito dal cliente utilizzando l'autenticazione compatibile con S3.
Questo esempio mostra come per il nuovo URIs
, i clienti possono aggiungere il pattern di nomi host pubblico o privato utilizzando il pacchetto DBMS_NETWORK_ACL_ADMIN
. Il blocco di codice, eseguito dall'utente ADMIN
, abilita l'accesso HTTPS
per l'utente SCOTT
agli endpoint nel dominio *.myprivatesite.com
. Mostra quindi come l'utente SCOTT
accede all'endpoint appena abilitato. Si noti che la credenziale MY_CRED
per l'utente SCOTT
deve memorizzare la chiave di accesso e la chiave segreta per l'autenticazione compatibile con S3 eseguita per la richiesta HTTP
indicata dal prefisso 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;
/
Endpoint gestito dal cliente con accesso pubblico
Questo esempio mostra come registrare l'utente SCOTT
per accedere alle API REST pubbliche. L'utente ADMIN
crea un'ACL di rete per consentire all'host di accedere all'utente 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;
/
Argomento padre: DBMS_CLOUD Formati URI