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 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
Hinweis

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.

Sie können eine URI mit vordefinierten Platzhaltervariablen bereitstellen. Wenn die Anforderung gesendet wird, werden diese Variablen nahtlos aufgelöst und durch die entsprechenden Istwerte ersetzt. Die Liste der unterstützten Platzhalter in den Unterroutinen des Packages DBMS_CLOUD enthält Folgendes:
  • my$home_region: Gibt die Hauptregion Ihres Oracle Cloud Infrastructure-(OCI-)Mandanten an.

    Die Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$tenancy wird nur mit den folgenden Zugangsdatentypen unterstützt:
    • OCI-API-Signaturschlüssel

    • OCI-Ressourcen-Principal

    • Authentifizierungstoken/Swift-Zugangsdaten

Beispiel:
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:

  1. Öffnen Sie die Oracle Cloud Infrastructure-Konsole, indem Sie neben "Oracle Cloud" auf Navigationssymbol klicken.
  2. Klicken Sie im linken Navigationsmenü von Oracle Cloud Infrastructure auf Coreinfrastruktur. Klicken Sie unter Object Storage auf Object Storage.
  3. Wählen Sie unter "Listengeltungsbereich" ein Compartment.
  4. Wählen Sie in der Spalte Name einen Bucket aus.
  5. Klicken Sie im Bereich "Objekte" auf Objektdetails anzeigen.
  6. Auf der Seite Objektdetails wird im Feld URL-Pfad (URI) die URI für den Zugriff auf das Objekt angezeigt.
Hinweis

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.

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
Hinweis

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.

Hinweis

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.

Die angegebene URI kann auch vordefinierte Platzhaltervariablen enthalten. Wenn die Anforderung gesendet wird, werden diese Variablen durch die entsprechenden Istwerte ersetzt. Folgende Platzhalter werden in Autonomous Database unterstützt:
  • my$home_region: Gibt die Hauptregion Ihres Oracle Cloud Infrastructure-(OCI-)Mandanten an.

    Die Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$tenancy wird nur mit den folgenden Zugangsdatentypen unterstützt:
    • OCI-API-Signaturschlüssel

    • OCI-Ressourcen-Principal

    • Authentifizierungstoken/Swift-Zugangsdaten

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.

Hinweis

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
Hinweis

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;
/
Hinweis

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.

Sie können eine URI mit vordefinierten Platzhaltervariablen bereitstellen. Wenn die Anforderung gesendet wird, werden diese Variablen durch die entsprechenden Istwerte ersetzt. Die Liste der unterstützten Platzhalter in den Unterroutinen des Packages DBMS_CLOUD enthält Folgendes:
  • my$home_region: Gibt die Hauptregion Ihres Oracle Cloud Infrastructure-(OCI-)Mandanten an.

    Die Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$tenancy wird nur mit den folgenden Zugangsdatentypen unterstützt:
    • OCI-API-Signaturschlüssel

    • OCI-Ressourcen-Principal

    • Authentifizierungstoken/Swift-Zugangsdaten

Beispiel:
object_uri => 'https://objectstorage.my$region.my$cloud_domain/n/my$namespace/b/bucket_name/o/file_name'

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.

Hinweis

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.

Hinweis

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.

Sie können eine URI mit vordefinierten Platzhaltervariablen bereitstellen. Wenn die Anforderung gesendet wird, werden diese Variablen durch die entsprechenden Istwerte ersetzt. Die Liste der unterstützten Platzhalter in den Unterroutinen des Packages DBMS_CLOUD enthält Folgendes:
  • my$home_region: Gibt die Hauptregion Ihres Oracle Cloud Infrastructure-(OCI-)Mandanten an.

    Die Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$tenancy wird nur mit den folgenden Zugangsdatentypen unterstützt:
    • OCI-API-Signaturschlüssel

    • OCI-Ressourcen-Principal

    • Authentifizierungstoken/Swift-Zugangsdaten

Beispiel:
object_uri => 'https://objectstorage.my$region.my$cloud_domain/n/my$namespace/b/bucket_name/o/file_name'

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.

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 Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$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 Substitutionsvariable my$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;

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.

Hinweis

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.

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
Hinweis

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.

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
Hinweis

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.

GitHub Raw-URL-Format

DBMS_CLOUD unterstützt GitHub Raw-URLs für den Zugriff auf Daten aus einem GitHub-Repository.

Hinweis

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.

Zusätzliche vom Kunden verwaltete URI-Formate

Zusätzlich zu der vorkonfigurierten, erkannten 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;
/