DBMS_CLOUD-URI-Formate
Beschreibt das Format der Quelldatei-URIs in Vorgängen mit DBMS_CLOUD
. Das Format hängt vom verwendeten Objektspeicherservice ab.
DBMS_CLOUD
garantiert eine sichere Kommunikation, und jede angegebene URI muss HTTPS verwenden, wobei https://
das Präfix für die URI ist.
- Natives URI-Format für Oracle Cloud Infrastructure Object Storage
- Oracle Cloud Infrastructure Object Storage - Swift-URI-Format
- Oracle Cloud Infrastructure Object Storage-URI-Format mit vorab authentifizierter Anforderungs-URL
- URI-Format mit öffentlicher URL
- URI-Format für Oracle Cloud Infrastructure Object Storage
- Substitutionsvariablen in Oracle Cloud Infrastructure-(OCI-)URLs
Sie können vordefinierte Substitutionsvariablen in Ihren Oracle Cloud Infrastructure-(OCI-)URLs angeben, wenn Sie eine URI für den Parameterobject_uri
für dieDBMS_CLOUD
-Prozeduren und -Funktionen angeben. - Amazon S3-URI-Format
- Azure Blob Storage- oder Azure Data Lake Storage-URI-Format
- Amazon S3-kompatibles URI-Format
- GitHub Raw-URL-Format
DBMS_CLOUD
unterstützt GitHub Raw-URLs für den Zugriff auf Daten aus einem GitHub-Repository. - Zusätzliche vom Kunden verwaltete URI-Formate
Zusätzlich zu der vorkonfigurierten, erkanntenURIs
mit ihren vollqualifizierten Domainnamen (FQDNs
) kannDBMS_CLOUD
nicht das richtige Authentifizierungsschema für vom Kunden verwaltete EndpunkteURIs
bestimmen. In diesen Fällen verlässt sichDBMS_CLOUD
auf das richtigeURI
-Schema, um das Authentifizierungsschema für den vom Kunden verwalteten Endpunkt zu identifizieren.
Übergeordnetes Thema: DBMS_CLOUD-Package
Natives URI-Format von Oracle Cloud Infrastructure Object Storage
Wenn Ihre Quelldateien in Oracle Cloud Infrastructure Object Storage in der kommerziellen Realm (OC1) gespeichert sind, wird empfohlen, das folgende URI-Format zu verwenden, das dedizierte Object Storage-Endpunkte verwendet. Weitere Informationen finden Sie unter Dedizierte Object Storage-Endpunkte.
https://namespace-string.objectstorage.region.oci.customer-oci.com/n/namespace-string/b/bucketname/o/filename
Dedizierte Endpunkt-URLs für OCI Object Store werden nur in kommerziellen Realms unterstützt (OC1).
Wenn sich Ihre Quelldateien in Oracle Cloud Infrastructure Object Storage befinden und sich nicht in der kommerziellen Realm (OC1) befinden, müssen Sie das folgende Format verwenden:
https://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucket/o/filename
Beispiel: In der kommerziellen Realm (OC1) lautet die native URI für die Datei channels.txt
im Bucket bucketname
im Data Center Phoenix
:
https://namespace.objectstorage.region.oci.customer-oci.com/n/namespace/b/bucketname/o/channels.txt
In diesem Beispiel ist namespace-string
der Oracle Cloud Infrastructure-Objektspeicher-Namespace und bucketname
der Bucket-Name. Weitere Informationen finden Sie unter Object Storage-Namespaces.
DBMS_CLOUD
enthält Folgendes:
-
my$home_region
: Gibt die Hauptregion Ihres Oracle Cloud Infrastructure-(OCI-)Mandanten an.Die Substitutionsvariablemy$home_region
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
-
my$region
: Gibt die Oracle Cloud Infrastructure-(OCI-)Region Ihrer Autonomous Database an.Die Substitutionsvariablemy$region
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
-
my$cloud_domain
: Gibt den Oracle Cloud Infrastructure-(OCI-)Domainnamen für Ihre Oracle Cloud Infrastructure (OCI) an.Die Substitutionsvariablemy$cloud_domain
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
-
my$namespace
: Gibt den Oracle Cloud Infrastructure-(OCI-)Object Storage-Namespace an.Die Substitutionsvariablemy$namespace
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
-
my$compartment
: Gibt die OCID des Compartments an.Die Substitutionsvariablemy$compartment
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
-
my$tenancy
: Gibt die OCID Ihres Mandanten an.Die Substitutionsvariablemy$tenancy
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
object_uri => 'https://objectstorage.my$region.my$cloud_domain/n/my$namespace/b/bucket_name/o/file_name'
Die URI finden Sie unter "Objektdetails" in Oracle Cloud Infrastructure Object Storage im Menü mit Auslassungspunkten auf der rechten Seite im Objektspeicher:
- Öffnen Sie die Oracle Cloud Infrastructure-Konsole, indem Sie neben "Oracle Cloud" auf
klicken.
- Klicken Sie im linken Navigationsmenü von Oracle Cloud Infrastructure auf Coreinfrastruktur. Klicken Sie unter Object Storage auf Object Storage.
- Wählen Sie unter "Listengeltungsbereich" ein Compartment.
- Wählen Sie in der Spalte Name einen Bucket aus.
- Klicken Sie im Bereich "Objekte" auf Objektdetails anzeigen.
- Auf der Seite Objektdetails wird im Feld URL-Pfad (URI) die URI für den Zugriff auf das Objekt angezeigt.
Die Quelldateien müssen in einem Object Storage-Tier-Bucket gespeichert werden. Autonomous Database unterstützt keine Buckets in der Archive Storage-Ebene. Weitere Informationen finden Sie unter Überblick über Object Storage.
Übergeordnetes Thema: DBMS_CLOUD URI-Formate
Oracle Cloud Infrastructure Object Storage - Swift-URI-Format
Wenn Ihre Quelldateien in Oracle Cloud Infrastructure Object Storage in der kommerziellen Realm (OC1) gespeichert sind, wird empfohlen, das folgende URI-Format zu verwenden, das dedizierte Object Storage-Endpunkte verwendet. Weitere Informationen finden Sie unter Dedizierte Object Storage-Endpunkte.
https://namespace-string.swiftobjectstorage.region.oci.customer-oci.com/v1/namespace-string/bucket/filename
Dedizierte Endpunkt-URLs für OCI Object Store werden nur in den kommerziellen Realms unterstützt (OC1).
Wenn sich Ihre Quelldateien in Oracle Cloud Infrastructure Object Storage befinden und sich nicht in der kommerziellen Realm (OC1) befinden, müssen Sie das folgende Format verwenden:
https://swiftobjectstorage.region.oraclecloud.com/v1/namespace-string/bucket/filename
Beispiel: In der kommerziellen Realm (OC1) lautet die Swift-URI für die Datei channels.txt
im Bucket bucketname
im Data Center Phoenix
:
https://namespace-string.swiftobjectstorage.us-phoenix-1.oci.customer-oci.com/v1/namespace-string/bucketname/channels.txt
In diesem Beispiel ist namespace-string
der Oracle Cloud Infrastructure-Objektspeicher-Namespace und bucketname
der Bucket-Name. Weitere Informationen finden Sie unter Object Storage-Namespaces.
Die Quelldateien müssen in einem Object Storage-Tier-Bucket gespeichert werden. Autonomous Database unterstützt keine Buckets in der Archive Storage-Ebene. Weitere Informationen finden Sie unter Überblick über Object Storage.
-
my$home_region
: Gibt die Hauptregion Ihres Oracle Cloud Infrastructure-(OCI-)Mandanten an.Die Substitutionsvariablemy$home_region
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
-
my$region
: Gibt die Oracle Cloud Infrastructure-(OCI-)Region Ihrer Autonomous Database an.Die Substitutionsvariablemy$region
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
-
my$cloud_domain
: Gibt den Oracle Cloud Infrastructure-(OCI-)Domainnamen für Ihre Oracle Cloud Infrastructure (OCI) an.Die Substitutionsvariablemy$cloud_domain
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
-
my$namespace
: Gibt den Oracle Cloud Infrastructure-(OCI-)Object Storage-Namespace an.Die Substitutionsvariablemy$namespace
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
-
my$compartment
: Gibt die OCID des Compartments an.Die Substitutionsvariablemy$compartment
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
-
my$tenancy
: Gibt die OCID Ihres Mandanten an.Die Substitutionsvariablemy$tenancy
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
Übergeordnetes Thema: DBMS_CLOUD URI-Formate
Oracle Cloud Infrastructure Object Storage-URI-Format mit vorab authentifizierter Anforderungs-URL
Wenn Ihre Quelldateien in Oracle Cloud Infrastructure Object Storage gespeichert sind, können Sie vorab authentifizierte Oracle Cloud Infrastructure-URIs verwenden. Wenn Sie eine vorab authentifizierte Anforderung erstellen, wird eine eindeutige URL generiert. Anschließend können Sie Benutzern in Ihrer Organisation, Partnern oder Dritten die eindeutige URL für den Zugriff auf das in der vorab authentifizierten Anforderung angegebene Object Storage-Ressourcenziel bereitstellen.
Bewerten Sie sorgfältig die Geschäftsanforderungen für und die Sicherheitsauswirkungen des vorab authentifizierten Zugriffs. Wenn Sie die URL der vorab authentifizierten Anforderung erstellen, beachten Sie den Ablauf und den Zugriffstyp, um sicherzustellen, dass sie für Ihre Verwendung geeignet sind.
Über eine vorab authentifizierte Anforderungs-URL erhält jeder, der über die URL verfügt, Zugriff auf die in der Anforderung angegebenen Ziele, solange die Anforderung aktiv ist. Neben der Berücksichtigung der betrieblichen Anforderungen des vorab authentifizierten Zugriffs ist es ebenso wichtig, seine Verteilung zu verwalten.
Wenn Ihre Quelldateien in Oracle Cloud Infrastructure Object Storage in der kommerziellen Realm (OC1) gespeichert sind, wird empfohlen, das folgende URI-Format zu verwenden, das dedizierte Object Storage-Endpunkte verwendet. Weitere Informationen finden Sie unter Dedizierte Object Storage-Endpunkte.
https://namespace-string.objectstorage.region.oci.customer-oci.com/p/encrypted_string/n/namespace-string/b/bucket/o/filename
Dedizierte Endpunkt-URLs für OCI Object Store werden nur in den kommerziellen Realms unterstützt (OC1).
Wenn sich Ihre Quelldateien in Oracle Cloud Infrastructure Object Storage befinden und sich nicht in der kommerziellen Realm (OC1) befinden, müssen Sie das folgende Format verwenden:
https://objectstorage.region.oraclecloud.com.com/p/encrypted_string/n/namespace-string/b/bucket/o/filename
Beispiel: In der kommerziellen Realm (OC1) ist eine im Voraus authentifizierte URI für die Datei channels.txt
im Bucket bucketname im Data Center Phoenix
wie folgt:
https://namespace-string.objectstorage.us-phoenix-1.oci.customer-oci.com/p/2xN-uDtWJNsiD910UCYGue/n/namespace-string/b/bucketname/o/channels.txt
In diesem Beispiel ist namespace-string
der Oracle Cloud Infrastructure-Objektspeicher-Namespace und bucketname
der Bucket-Name. Weitere Informationen finden Sie unter Object Storage-Namespaces.
Sie können eine vorab authentifizierte URL in jeder DBMS_CLOUD
-Prozedur verwenden, die eine URL für den Zugriff auf Dateien im Oracle Cloud Infrastructure-Objektspeicher verwendet, ohne Zugangsdaten erstellen zu müssen. Sie müssen entweder den Parameter credential_name
als NULL
angeben oder keinen Parameter credential_name
angeben.
Beispiel:
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;
/
Eine Liste mit gemischten URLs ist gültig. Wenn die URL-Liste sowohl vorab authentifizierte URLs als auch URLs enthält, die eine Authentifizierung erfordern, verwendet
DBMS_CLOUD
die angegebene credential_name
, um auf die URLs zuzugreifen, die eine Authentifizierung erfordern, und für die vorab authentifizierten URLs wird die angegebene credential_name
ignoriert.
Weitere Informationen finden Sie unter Vorab authentifizierte Anforderungen verwenden.
DBMS_CLOUD
enthält Folgendes:
-
my$home_region
: Gibt die Hauptregion Ihres Oracle Cloud Infrastructure-(OCI-)Mandanten an.Die Substitutionsvariablemy$home_region
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
-
my$region
: Gibt die Oracle Cloud Infrastructure-(OCI-)Region Ihrer Autonomous Database an.Die Substitutionsvariablemy$region
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
-
my$cloud_domain
: Gibt den Oracle Cloud Infrastructure-(OCI-)Domainnamen für Ihre Oracle Cloud Infrastructure (OCI) an.Die Substitutionsvariablemy$cloud_domain
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
-
my$namespace
: Gibt den Oracle Cloud Infrastructure-(OCI-)Object Storage-Namespace an.Die Substitutionsvariablemy$namespace
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
-
my$compartment
: Gibt die OCID des Compartments an.Die Substitutionsvariablemy$compartment
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
-
my$tenancy
: Gibt die OCID Ihres Mandanten an.Die Substitutionsvariablemy$tenancy
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
object_uri => 'https://objectstorage.my$region.my$cloud_domain/n/my$namespace/b/bucket_name/o/file_name'
Übergeordnetes Thema: DBMS_CLOUD URI-Formate
URI-Format mit öffentlicher URL
Wenn sich Ihre Quelldateien in einem Objektspeicher befinden, der öffentliche URLs bereitstellt, können Sie öffentliche URLs mit DBMS_CLOUD
-Prozeduren verwenden. "Öffentlich" bedeutet, dass der Object Storage-Service anonymen, nicht authentifizierten Zugriff auf die Objektspeicherdateien unterstützt. Details dazu, wie Sie ein Objekt in einem unterstützten Objektspeicher öffentlich machen, finden Sie in Ihrem Cloud Object Storage-Service.
Bewerten Sie die Geschäftsanforderungen und die Sicherheitsauswirkungen der Verwendung öffentlicher URLs sorgfältig. Wenn Sie öffentliche URLs verwenden, da der Dateiinhalt nicht authentifiziert wird, stellen Sie sicher, dass dies für Ihre Verwendung geeignet ist.
Sie können eine öffentliche URL in jeder DBMS_CLOUD
-Prozedur verwenden, die eine URL für den Zugriff auf Dateien in Ihrem Objektspeicher verwendet, ohne dass Zugangsdaten erstellt werden müssen. Sie müssen entweder den Parameter credential_name
als NULL
angeben oder keinen Parameter credential_name
angeben.
Beispiel: Im Folgenden wird DBMS_CLOUD.COPY_DATA
ohne credential_name
verwendet:
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 diesem Beispiel ist namespace-string
der Oracle Cloud Infrastructure-Objektspeicher-Namespace und bucketname
der Bucket-Name. Weitere Informationen finden Sie unter Object Storage-Namespaces.
Eine Liste mit gemischten URLs ist gültig. Wenn die URL-Liste sowohl öffentliche URLs als auch URLs enthält, die eine Authentifizierung erfordern, verwendet
DBMS_CLOUD
die angegebene credential_name
, um auf die URLs zuzugreifen, die eine Authentifizierung erfordern, und für die öffentlichen URLs wird die angegebene credential_name
ignoriert.
Informationen zur Verwendung öffentlicher Oracle Cloud Infrastructure-Buckets finden Sie unter Öffentliche Buckets.
DBMS_CLOUD
enthält Folgendes:
-
my$home_region
: Gibt die Hauptregion Ihres Oracle Cloud Infrastructure-(OCI-)Mandanten an.Die Substitutionsvariablemy$home_region
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
-
my$region
: Gibt die Oracle Cloud Infrastructure-(OCI-)Region Ihrer Autonomous Database an.Die Substitutionsvariablemy$region
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
-
my$cloud_domain
: Gibt den Oracle Cloud Infrastructure-(OCI-)Domainnamen für Ihre Oracle Cloud Infrastructure (OCI) an.Die Substitutionsvariablemy$cloud_domain
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
-
my$namespace
: Gibt den Oracle Cloud Infrastructure-(OCI-)Object Storage-Namespace an.Die Substitutionsvariablemy$namespace
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
-
my$compartment
: Gibt die OCID des Compartments an.Die Substitutionsvariablemy$compartment
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
-
my$tenancy
: Gibt die OCID Ihres Mandanten an.Die Substitutionsvariablemy$tenancy
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
object_uri => 'https://objectstorage.my$region.my$cloud_domain/n/my$namespace/b/bucket_name/o/file_name'
Übergeordnetes Thema: DBMS_CLOUD URI-Formate
URI-Format für Oracle Cloud Infrastructure Object Storage
Wenn sich die Quelldateien in Oracle Cloud Infrastructure Object Storage Classic befinden, finden Sie auf der REST-Seite eine Beschreibung des URI-Formats für den Zugriff auf die Dateien: REST-URLs für Oracle Cloud Infrastructure Object Storage Classic-Ressourcen.
Übergeordnetes Thema: DBMS_CLOUD URI-Formate
Substitutionsvariablen in Oracle Cloud Infrastructure-(OCI-)URLs
Sie können vordefinierte Substitutionsvariablen in Ihren Oracle Cloud Infrastructure-(OCI-)URLs angeben, wenn Sie eine URI für den Parameter object_uri
für die DBMS_CLOUD
-Prozeduren und -Funktionen angeben.
Diese Substitutionsvariablen sind vordefinierte Platzhalter wie my$home_region
und my$tenancy
, die aufgelöst und durch die entsprechenden tatsächlichen Werte basierend auf dem Laufzeitkontext Ihrer Autonomous Database ersetzt werden. Die umgebungsspezifischen Werte, wie Mandanten-OCID oder Namespace, sind nicht hartcodiert, sodass der SQL-Code dynamisch und portierbar ist und in mehreren Regionen (für OCI-REST-APIs) bereitgestellt werden kann.
Die Verwendung von Substitutionsvariablen in OCI-URLs bietet folgende Vorteile:
-
SQL-Code ist weniger fehleranfällig, da Substitutionsvariablen keine hartcodierten Werte bereitstellen müssen. Dies ist besonders nützlich, wenn lange Bezeichner verwendet werden.
-
SQL-Code ist portierbar und nicht regionsspezifisch oder umgebungsspezifisch. Derselbe SQL-Code kann für OCI-REST-APIs über mehrere Regionen hinweg wiederverwendet und bereitgestellt werden, ohne dass die aktuelle Region identifiziert werden muss.
-
Regionsübergreifendes Failover für Autonomous Database mit OCI-REST-APIs ist praktisch und weniger fehleranfällig.
Die Liste der unterstützten Platzhalter lautet wie folgt:
-
my$home_region
: Gibt die Hauptregion Ihres Oracle Cloud Infrastructure-(OCI-)Mandanten an.Die Substitutionsvariablemy$home_region
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
-
my$region
: Gibt die Oracle Cloud Infrastructure-(OCI-)Region Ihrer Autonomous Database an.Die Substitutionsvariablemy$region
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
-
my$cloud_domain
: Gibt den Oracle Cloud Infrastructure-(OCI-)Domainnamen für Ihre Oracle Cloud Infrastructure (OCI) an.Die Substitutionsvariablemy$cloud_domain
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
-
my$namespace
: Gibt den Oracle Cloud Infrastructure-(OCI-)Object Storage-Namespace an.Die Substitutionsvariablemy$namespace
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
-
my$compartment
: Gibt die OCID des Compartments an.Die Substitutionsvariablemy$compartment
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
-
my$tenancy
: Gibt die OCID Ihres Mandanten an.Die Substitutionsvariablemy$tenancy
wird nur mit den folgenden Zugangsdatentypen unterstützt:-
OCI-API-Signaturschlüssel
-
OCI-Ressourcen-Principal
-
Authentifizierungstoken/Swift-Zugangsdaten
-
Beispiel für den Zugriff auf eine Object Storage-Datei mit vordefinierten Substitutionsvariablen:
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;
Beispiel für den Zugriff auf die OCI-Kostenberichtsdatei mit vordefinierten Substitutionsvariablen:
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;
Übergeordnetes Thema: DBMS_CLOUD URI-Formate
Amazon S3-URI-Format
Wenn Ihre Quelldateien in Amazon S3 gespeichert sind, finden Sie im Folgenden eine Beschreibung des URI-Formats für den Zugriff auf Ihre Dateien: Auf einen Bucket zugreifen.
Beispiel: Das Folgende bezieht sich auf die Datei channels.txt
im Bucket adb
in der Region us-west-2
.
https://s3-us-west-2.amazonaws.com/adb/channels.txt
Sie können eine vorgeschriebene URL in jeder DBMS_CLOUD
-Prozedur verwenden, die eine URL für den Zugriff auf Dateien im Amazon S3-Objektspeicher verwendet, ohne dass Zugangsdaten erstellt werden müssen. Um eine vorgeschriebene URL in einer beliebigen DBMS_CLOUD
-Prozedur zu verwenden, geben Sie entweder den Parameter credential_name
als NULL
an, oder geben Sie keinen Parameter credential_name
an.
Weitere Informationen finden Sie unter Objekt gemeinsam mit anderen verwenden.
DBMS_CLOUD
unterstützt die standardmäßige Amazon S3-Endpunktsyntax für den Zugriff auf Ihre Buckets. DBMS_CLOUD
unterstützt keine Legacy-Endpunkte von Amazon S3. Weitere Informationen finden Sie unter Legacy-Endpunkte.
Übergeordnetes Thema: DBMS_CLOUD URI-Formate
Azure Blob Storage oder Azure Data Lake Storage-URI-Format
Wenn sich Ihre Quelldateien in Azure Blob Storage oder Azure Data Lake Storage befinden, finden Sie im Folgenden eine Beschreibung des URI-Formats für den Zugriff auf Ihre Dateien: Resource URI Syntax.
Beispiel: Das Folgende bezieht sich auf die Datei channels.txt
im Container adb
im Speicheraccount adb_user
:
https://adb_user.blob.core.windows.net/adb/channels.txt
Sie können die Shared Access Signatures-(SAS-)URL in jeder
DBMS_CLOUD
-Prozedur verwenden, die eine URL für den Zugriff auf Dateien in Azure Blob Storage oder Azure Data Lake Storage verwendet, ohne dass Zugangsdaten erstellt werden müssen. Um eine Shared Access Signature-(SAS-)URL zu verwenden, geben Sie entweder den Parameter credential_name
als NULL
an, oder geben Sie keinen Parameter credential_name
an.
Weitere Informationen finden Sie unter Begrenzten Zugriff auf Azure-Speicherressourcen mit Shared Access-Signaturen (SAS) erteilen.
Übergeordnetes Thema: DBMS_CLOUD URI-Formate
Amazon S3-kompatibles URI-Format
DBMS_CLOUD
unterstützt Objektspeicherserviceimplementierungen, die mit Amazon S3 kompatible URLs unterstützen, einschließlich der folgenden Services:
- Oracle Cloud Infrastructure Object Storage mit Amazon S3-kompatibler URL
- Google Cloud Storage mit Amazon S3-kompatibler URL
- Wasabi Hot Cloud Storage mit Amazon S3-kompatibler URL
Um
DBMS_CLOUD
mit einem mit Amazon S3 kompatiblen Objektspeicher zu verwenden, müssen Sie gültige Zugangsdaten angeben. Weitere Informationen finden Sie unter Prozedur CREATE_CREDENTIAL.
Wenn sich Ihre Quelldateien in einem Service befinden, der mit Amazon S3 kompatible URIs unterstützt, verwenden Sie das folgende URI-Format für den Zugriff auf Ihre Dateien:
-
Kompatible URL für S3 von Oracle Cloud Infrastructure Object Storage
Wenn sich Ihre Quelldateien in Oracle Cloud Infrastructure Object Storage in der kommerziellen Realm (OC1) befinden, wird empfohlen, die unten aufgeführten Objekt-URL- und Bucket-URL-Formate für die kommerzielle Realm (OC1) zu verwenden. Weitere Informationen finden Sie unter Dedizierte Object Storage-Endpunkte.
Hinweis
Dedizierte Endpunkt-URLs für OCI Object Store werden nur in den kommerziellen Realms unterstützt (OC1).Objekt-URL-Formate
-
nur in der kommerziellen Realm (OC1) unterstützt:
https://mynamespace.compat.objectstorage.region.oci.customer-oci.com/bucket_name/object_name
-
In allen Zonen unterstützt:
https://mynamespace.compat.objectstorage.region.oraclecloud.com/bucket_name/object_name
Bucket-URL-Formate:
-
nur in der kommerziellen Realm (OC1) unterstützt:
https://mynamespace.compat.objectstorage.region.oci.customer-oci.com/bucket_name
-
In allen Zonen unterstützt:
https://mynamespace.compat.objectstorage.region.oraclecloud.com/bucket_name
Weitere Informationen finden Sie unter Amazon S3-Kompatibilität und Object Storage-Service-API.
-
-
Kompatible URL für Google Cloud Storage S3
Objekt-URL-Format:
https://bucketname.storage.googleapis.com/object_name
Bucket-URL-Format:
https://bucketname.storage.googleapis.com/
Weitere Informationen finden Sie unter Von Amazon S3 zu Cloud Storage migrieren und Anforderungsendpunkte.
-
Wasabi S3-kompatible URL
Objekt-URL-Format:
https://bucketname.s3.region.wasabisys.com/object_name
Bucket-URL-Format:
https://bucketname.s3.region.wasabisys.com/
Weitere Informationen finden Sie unter Wasabi S3-API-Referenz und Service-URLs für Wasabis Speicherregionen.
Übergeordnetes Thema: DBMS_CLOUD URI-Formate
GitHub Raw-URL-Format
DBMS_CLOUD
unterstützt GitHub Raw-URLs für den Zugriff auf Daten aus einem GitHub-Repository.
Für den
DBMS_CLOUD
-Zugriff mit GitHub-Raw-URLs ist der Repository-Zugriff auf schreibgeschützte Funktionen beschränkt. Die DBMS_CLOUD
-APIs, wie DBMS_CLOUD.PUT_OBJECT
, die Daten schreiben, werden mit DBMS_CLOUD
-APIs in einem GitHub-Repository nicht unterstützt.
Alternativ können Sie DBMS_CLOUD_REPO.PUT_FILE
verwenden, um Daten in ein GitHub-Repository hochzuladen.
Verwenden Sie GitHub Raw-URLs mit DBMS_CLOUD
-APIs, um auf Quelldateien zuzugreifen, die sich in einem GitHub-Repository befinden. Wenn Sie nach einer Datei in GitHub suchen und auf den Link Raw klicken, wird die Raw-URL GitHub angezeigt. Die Domain raw.githubusercontent.com
stellt nicht verarbeitete Versionen von Dateien bereit, die in GitHub-Repositorys gespeichert sind.
Beispiel: Verwenden Sie 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;
/
Beispiel: Verwenden Sie 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;
Für DBMS_CLOUD
-Prozeduren, die eine URL für den Zugriff auf ein GitHub-Repository verwenden, sind keine Zugangsdaten mit öffentlichen Sichtbarkeits-GitHub-Repositorys erforderlich. Um eine öffentliche Sichtbarkeits-URL zu verwenden, können Sie den Parameter credential_name
als NULL
angeben oder keinen Parameter credential_name
angeben. Weitere Informationen finden Sie unter Sichtbarkeit des Repositorys festlegen.
Übergeordnetes Thema: DBMS_CLOUD URI-Formate
Zusätzliche vom Kunden verwaltete URI-Formate
URIs
mit ihren vollqualifizierten Domainnamen (FQDNs
) kann DBMS_CLOUD
das richtige Authentifizierungsschema für vom Kunden verwaltete Endpunkte URIs
nicht bestimmen. In diesen Fällen verlässt sich DBMS_CLOUD
auf das richtige URI
-Schema, um das Authentifizierungsschema für den vom Kunden verwalteten Endpunkt zu identifizieren.
URI-Schema | Authentifizierungstyp | Beschreibung der Zugriffsmethode | URI-Beispiel |
---|---|---|---|
Basis:// | Basisauthentifizierung | Benutzername und Kennwort, die im Datenbankzugangsdatenobjekt gespeichert sind, werden zur Authentifizierung der HTTP-Anforderung verwendet | basic://api.github.com/users/myaccount |
Bearer:// | Bearer-Tokenauthentifizierung | Bearer-Token, das im Kennwortfeld im Datenbankzugangsdatenobjekt gespeichert ist, wird verwendet, um den Autorisierungsheader für die HTTP-Anforderung anzugeben | bearer://api.sendgrid.com/v3/resource |
OCI:// | OCI-nativ | OCI-Signaturschlüssel, der aus dem gespeicherten Datenbankzugangsdatenobjekt abgerufen und zum Signieren von Anforderungen mit dem OCI-Authentifizierungsprotokoll verwendet wird | oci://objectstorage.us-ashburn-1.oraclecloud.com |
public:// | Keine Authentisierung | Öffentliche URLs | public://cms.data.gov/ |
s3:// | Amazon Web Services S3-kompatibel | Zugriffsschlüssel und Secret Key, die aus dem Feld "Benutzername/Kennwort" des Datenbankzugangsdatenobjekts abgerufen werden, und S3-kompatible Authentifizierung, die für die HTTP-Anforderung ausgeführt wird. | s3://bucket.myprivatesite.com/file1.csv |
Beispiele:
Vom Kunden verwalteter Endpunkt mit S3-kompatibler Authentifizierung.
Dieses Beispiel zeigt, wie Kunden bei der neuen URIs
das öffentliche oder private Hostnamensmuster mit dem Package DBMS_NETWORK_ACL_ADMIN
hinzufügen können. Der Codeblock, der von Benutzer ADMIN
ausgeführt wird, ermöglicht HTTPS
-Zugriff für Benutzer SCOTT
auf Endpunkte in Domain *.myprivatesite.com
. Anschließend wird gezeigt, wie der Benutzer SCOTT
auf den neu aktivierten Endpunkt zugreift. Beachten Sie, dass die Zugangsdaten MY_CRED
für Benutzer SCOTT
den Zugriffsschlüssel und den Secret Key für die S3-kompatible Authentifizierung speichern müssen, die für die HTTP
-Anforderung ausgeführt wird, die mit dem Präfix URI
angegeben wird.
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;
/
Vom Kunden verwalteter Endpunkt mit öffentlichem Zugriff
In diesem Beispiel wird gezeigt, wie Sie den Benutzer SCOTT
registrieren, um auf öffentliche REST-APIs zuzugreifen. Der Benutzer ADMIN
erstellt eine Netzwerk-ACL, damit der Host Zugriff auf den Benutzer SCOTT
erteilt.
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;
/
Übergeordnetes Thema: DBMS_CLOUD URI-Formate