URI-Formate für Cloud-Objektspeicher

In diesem Artikel wird das Format der Quelldatei-URIs in Vorgängen mit DBMS_CLOUD beschrieben. 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

Hinweis: Autonomous AI Database unterstützt nur Standard-Tier-Speicher-Buckets. Archive-Tier-Speicher-Buckets werden nicht unterstützt.

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 (OC1) unterstützt und sind ab Version 19.24 verfügbar.

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.

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 Speicher. Klicken Sie unter Object Storage & Archive Storage auf Buckets.

  3. Wählen Sie unter "Listengeltungsbereich" ein Compartment aus.

  4. Klicken Sie in der Spalte Name auf einen Bucket-Namen.

  5. Öffnen Sie auf der Registerkarte Objekte die Option Aktionen, und klicken Sie auf Objektdetails anzeigen für das gewünschte Objekt.

  6. Auf der Seite Objektdetails wird im Feld URL-Pfad (URI) die URI für den Zugriff auf das Objekt angezeigt.

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 kommerziellen Realms (OC1) unterstützt und sind ab Version 19.24 verfügbar.

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. Die autonome AI-Datenbank unterstützt keine Buckets in der Archive Storage-Ebene. Weitere Informationen finden Sie unter Überblick über Object Storage.

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 die Geschäftsanforderung und die Sicherheitsauswirkungen des vorab authentifizierten Zugriffs sorgfältig. 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 kommerziellen Realms (OC1) unterstützt und sind ab Version 19.24 verfügbar.

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 den Parameter credential_name entweder 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.

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 atpc in der Region us-west-2.

https://s3-us-west-2.amazonaws.com/atpc/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-URI-Format

Wenn sich Ihre Quelldateien in Azure Blob 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 atpc im Speicheraccount atpc_user:

https://atpc_user.blob.core.windows.net/atpc/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 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:

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:

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 Berechtigungsprüfung Öffentliche URLs public://cms.data.gov/
s3:// Amazon Web Services S3-kompatibel Zugriffsschlüssel und Secret Key, die aus dem Feld Benutzername/Kennwort des Zugangsdatenobjekts der Datenbank 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 den 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;
/