雲端物件儲存 URI 格式
本文說明使用 DBMS_CLOUD 進行作業時,來源檔案 URI 的格式。格式取決於您所使用的物件儲存體服務。DBMS_CLOUD 可保證安全通訊以及您指定的任何 URI 都必須使用 HTTPS,並以 https:// 作為 URI 的前置碼。
Oracle Cloud Infrastructure Object Storage 原生 URI 格式
注意: 自治式 AI 資料庫只支援標準層儲存的儲存桶。它不支援封存層儲存的儲存桶。
如果您的來源檔案位於商業範圍 (OC1) 的 Oracle Cloud Infrastructure Object Storage 上,建議您使用下列使用物件儲存專用端點的 URI 格式。如需進一步的資訊,請參閱物件儲存專用端點。
https://namespace-string.objectstorage.region.oci.customer-oci.com/n/namespace-string/b/bucketname/o/filename
注意:只有商業範圍 (OC1) 支援 OCI Object Store 專用端點 URL,19.24 和更新版本才提供。
如果您的來源檔案位於 Oracle Cloud Infrastructure Object Storage 上,且不在商業領域 (OC1) 中,則必須使用下列格式:
https://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucket/o/filename
例如,在商業範圍 (OC1) 中,Phoenix 資料中心之 *bucketname* 儲存桶中檔案 channels.txt 的原生 URI 為:
https://namespace.objectstorage.region.oci.customer-oci.com/n/namespace/b/bucketname/o/channels.txt
在此範例中,namespace-string 是 Oracle Cloud Infrastructure 物件儲存命名空間,而 bucketname 是儲存桶名稱。請參閱瞭解物件儲存命名空間以瞭解詳細資訊。
您可以在物件存放區右側省略符號功能表的 Oracle Cloud Infrastructure Object Storage「物件詳細資訊」中找到 URI:
-
按一下 Oracle Cloud 旁邊的
,即可開啟 Oracle Cloud Infrastructure 主控台。 -
從 Oracle Cloud Infrastructure 左側導覽功能表中,按一下儲存。在物件儲存與封存儲存底下,按一下儲存桶。
-
在「清單範圍」下,選取區間。
-
按一下名稱資料欄底下的儲存桶名稱。
-
在物件頁籤上,開啟動作,然後針對您感興趣的物件按一下檢視物件詳細資訊。
-
在物件詳細資訊頁面上, URL 路徑 (URI) 欄位會顯示存取物件的 URI。
Oracle Cloud Infrastructure Object Storage Swift URI 格式
如果您的來源檔案位於商業範圍 (OC1) 的 Oracle Cloud Infrastructure Object Storage 上,建議您使用下列使用物件儲存專用端點的 URI 格式。如需進一步的資訊,請參閱物件儲存專用端點。
https://namespace-string.swiftobjectstorage.region.oci.customer-oci.com/v1/namespace-string/bucket/filename
注意:只有商業範圍 (OC1) 支援 OCI Object Store 專用端點 URL,19.24 和更新版本才提供。
如果您的來源檔案位於 Oracle Cloud Infrastructure Object Storage 上,且不在商業領域 (OC1) 中,則必須使用下列格式:
https://swiftobjectstorage.region.oraclecloud.com/v1/namespace-string/bucket/filename
例如,在商業範圍 (OC1) 中,Phoenix 資料中心之 *bucketname* 儲存桶中檔案 channels.txt 的 Swift URI 為:
https://namespace-string.swiftobjectstorage.us-phoenix-1.oci.customer-oci.com/v1/namespace-string/bucketname/channels.txt
在此範例中,namespace-string 是 Oracle Cloud Infrastructure 物件儲存命名空間,而 bucketname 是儲存桶名稱。請參閱瞭解物件儲存命名空間以瞭解詳細資訊。
注意:來源檔案必須儲存在物件儲存層儲存桶中。自治式 AI 資料庫不支援封存儲存層中的儲存桶。請參閱物件儲存總覽以瞭解詳細資訊。
使用預先認證要求 URL 的 Oracle Cloud Infrastructure Object Storage URI 格式
如果您的來源檔案位於 Oracle Cloud Infrastructure Object Storage,您可以使用 Oracle Cloud Infrastructure 預先認證的 URI。當您建立預先認證要求時,會產生唯一的 URL。接著,您可以為組織、合作夥伴或第三方中的使用者提供唯一 URL,以存取預先認證要求中所識別的物件儲存資源目標。
注意:請仔細評估預先認證存取的業務需求和安全相關性。當您建立預先認證的要求 URL 時,請記下到期和存取類型,確定它們適合您的使用。
預先認證的要求 URL 可讓任何可以存取要求中識別之目標的 URL,只要要求為作用中狀態即可。除了考量預先認證存取的作業需求之外,管理分配也同樣重要。
如果您的來源檔案位於商業範圍 (OC1) 的 Oracle Cloud Infrastructure Object Storage 上,建議您使用下列使用物件儲存專用端點的 URI 格式。如需進一步的資訊,請參閱物件儲存專用端點。
https://namespace-string.objectstorage.region.oci.customer-oci.com/p/encrypted_string/n/namespace-string/b/bucket/o/filename
注意:只有商業範圍 (OC1) 支援 OCI Object Store 專用端點 URL,19.24 和更新版本才提供。
如果您的來源檔案位於 Oracle Cloud Infrastructure Object Storage 上,且不在商業領域 (OC1) 中,則必須使用下列格式:
https://objectstorage.region.oraclecloud.com.com/p/encrypted_string/n/namespace-string/b/bucket/o/filename
例如,在商業範圍 (OC1) 中,Phoenix 資料中心之 bucketname 儲存桶中檔案 channels.txt 的預先認證 URI 範例為:
https://namespace-string.objectstorage.us-phoenix-1.oci.customer-oci.com/p/2xN-uDtWJNsiD910UCYGue/n/namespace-string/b/bucketname/o/channels.txt
在此範例中,namespace-string 是 Oracle Cloud Infrastructure 物件儲存命名空間,而 bucketname 是儲存桶名稱。請參閱瞭解物件儲存命名空間以瞭解詳細資訊。
您可以在任何 DBMS_CLOUD 程序中使用預先認證的 URL,該程序會採用 URL 存取 Oracle Cloud Infrastructure 物件存放區中的檔案,而不需要建立證明資料。您必須將 credential_name 參數指定為 NULL,或不提供 credential_name 參數。
舉例而言:
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;
/
注意:混合 URL 清單有效。如果 URL 清單同時包含需要認證的預先認證 URL 和 URL,則 DBMS_CLOUD 會使用指定的 credential_name 來存取需要認證的 URL,並忽略指定之 credential_name 的預先認證 URL。
請參閱使用預先認證的要求以瞭解詳細資訊。
Amazon S3 URI 格式
如果您的來源檔案位於 Amazon S3,請參閱下列 URI 格式的說明以存取您的檔案:存取儲存桶。
例如,下列是指 us-west-2 區域中 atpc 儲存桶中的 channels.txt 檔案。
https://s3-us-west-2.amazonaws.com/atpc/channels.txt
您可在任何 DBMS_CLOUD 程序中使用預先簽署的 URL 來存取 Amazon S3 物件存放區中的檔案,而不需要建立證明資料。若要在任何 DBMS_CLOUD 程序中使用預先指派的 URL,請將 credential_name 參數指定為 NULL,或不要提供 credential_name 參數。
請參閱與其他人共用物件以瞭解詳細資訊。
注意:DBMS_CLOUD 支援存取儲存桶的標準 Amazon S3 端點語法。DBMS_CLOUD 不支援 Amazon S3 舊有端點。請參閱舊版端點以瞭解詳細資訊。
Azure Blob 儲存體 URI 格式
如果您的來源檔案位於 Azure Blob 儲存體中,請參閱下列 URI 格式的描述以存取您的檔案:資源 URI 語法。
例如,下列參照儲存帳戶 atpc_user 中 atpc 容器中的 channels.txt 檔案:
https://atpc_user.blob.core.windows.net/atpc/channels.txt
注意:您可以在任何 DBMS_CLOUD 程序中使用 Shared Access Signatures (SAS) URL 來存取 Azure Blob 儲存體中的檔案,而不需要建立證明資料。若要使用「共用存取簽章 (SAS)」URL,請將 credential_name 參數指定為 NULL,或不要提供 credential_name 參數。
請參閱使用共用存取簽章 (SAS) 授權限制存取 Azure 儲存體資源以瞭解詳細資訊。
與 Amazon S3 相容的 URI 格式
DBMS_CLOUD 支援支援 Amazon S3 相容 URL 的物件儲存服務實作,包括下列服務:
- Oracle Cloud Infrastructure Object Storage 與 Amazon S3 相容的 URL
- Google Cloud Storage 與 Amazon S3 相容的 URL
- Wasabi Hot Cloud Storage 搭配 Amazon S3 相容 URL
注意:若要將 DBMS_CLOUD 與 Amazon S3 相容的物件存放區搭配使用,您必須提供有效的證明資料。請參閱 CREATE_CREDENTIAL 程序以瞭解詳細資訊。
如果您的來源檔案位於支援 Amazon S3 相容 URI 的服務上,請使用下列 URI 格式來存取您的檔案:
-
Oracle Cloud Infrastructure Object Storage S3 相容 URL
如果您的來源檔案位於商業範圍 (OC1) 中的 Oracle Cloud Infrastructure Object Storage,建議您使用下列商業範圍 (OC1) 物件 URL 和儲存桶 URL 格式。如需進一步的資訊,請參閱物件儲存專用端點。
注意:只有商業範圍 (OC1) 支援 OCI Object Store 專用端點 URL,19.24 和更新版本才提供。
物件 URL 格式
-
僅支援商業領域 (OC1):
https://mynamespace.compat.objectstorage.region.oci.customer-oci.com/bucket_name/object_name -
支援所有區域:
https://mynamespace.compat.objectstorage.region.oraclecloud.com/bucket_name/object_name
儲存桶 URL 格式:
-
僅支援商業領域 (OC1):
https://mynamespace.compat.objectstorage.region.oci.customer-oci.com/bucket_name -
支援所有區域:
https://mynamespace.compat.objectstorage.region.oraclecloud.com/bucket_name
如需更多資訊,請參閱 Amazon S3 相容性和物件儲存體服務 API 。
-
-
Google Cloud Storage S3 相容 URL
物件 URL 格式:
https://bucketname.storage.googleapis.com/object_name儲存桶 URL 格式:
https://bucketname.storage.googleapis.com/請參閱從 Amazon S3 移轉至雲端儲存和要求端點以瞭解詳細資訊。
-
Wasabi S3 相容 URL
物件 URL 格式:
https://bucketname.s3.region.wasabisys.com/object_name儲存桶 URL 格式:
https://bucketname.s3.region.wasabisys.com/請參閱 Wasabi S3 API Reference 和 Wasabi 儲存區域的服務 URL 以瞭解詳細資訊。
其他客戶管理的 URI 格式
除了預先設定、辨識的 URIs 以及其完整網域名稱 (FQDNs) 之外,DBMS_CLOUD 無法判斷客戶管理端點 URIs 的正確認證配置。在這些情況下,DBMS_CLOUD 會使用適當的 URI 配置來識別客戶管理的端點的認證配置。
| URI 配置 | 認證類型 | 存取方式描述 | URI 範例 |
|---|---|---|---|
| 基本:// | 基本驗證 | 儲存在資料庫證明資料物件中的使用者名稱和密碼可用來認證 HTTP 要求 | basic://api.github.com/users/myaccount |
| Bearer:// | Bearer 憑證驗證 | 儲存在資料庫證明資料物件之密碼欄位中的 Bearer 權杖是用來指定 HTTP 要求的授權標頭 | bearer://api.sendgrid.com/v3/resource |
| oci:// | OCI 原機 | 從儲存的資料庫證明資料物件取得的 OCI 簽署金鑰,用於使用 OCI 認證協定簽署要求 | oci://objectstorage.us-ashburn-1.oraclecloud.com |
| public:// | 沒有認證。 | 公用網址 | public://cms.data.gov/ |
| s3:// | 與 Amazon Web Services S3 相容 | 從資料庫證明資料物件的使用者名稱 / 密碼欄位取得的存取鍵值和秘密鍵值,以及針對 HTTP 要求執行的 S3 相容認證。 | s3://bucket.myprivatesite.com/file1.csv |
範例:
使用 S3 相容認證的客戶管理端點。
此範例顯示新 URIs 的方式,客戶可以使用 DBMS_NETWORK_ACL_ADMIN 套裝程式新增公用或專用主機名稱樣式。由使用者 ADMIN 執行的程式碼區塊可讓使用者 SCOTT 的 HTTPS 存取至網域 *.myprivatesite.com 中的端點。然後顯示使用者 SCOTT 如何存取新啟用的端點。請注意,使用者 SCOTT 的證明資料 MY_CRED 必須儲存 URI 前置碼所指示之 HTTP 要求所執行的 S3 相容認證存取金鑰和秘密金鑰。
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;
/
具有公用存取權的客戶管理端點
此範例顯示如何註冊 SCOTT 使用者以存取公用 REST API。ADMIN 使用者會為主機建立網路 ACL,以提供 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;
/