雲端物件儲存 URI 格式
本文說明使用 DBMS_CLOUD
進行作業時的來源檔案 URI 格式。格式取決於您使用的物件儲存服務。DBMS_CLOUD
可保證安全通訊以及任何您指定的 URI 必須使用 HTTPS,並以 https://
作為 URI 的前置碼。
Oracle Cloud Infrastructure Object Storage 原生 URI 格式
附註:
Autonomous Database 僅支援標準層儲存貯體。不支援封存層儲存的儲存桶。如果您的來源檔案位於商業範圍 (OC1) 的 Oracle Cloud Infrastructure Object Storage 上,建議您使用下列使用物件儲存專用端點的 URI 格式。如需詳細資訊,請參閱 Object Storage Dedicated Endpoints 。
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
是儲存桶名稱。請參閱瞭解 Object Storage 命名空間瞭解詳細資訊。
您可以從「物件存放區」右側省略符號功能表中的 Oracle Cloud Infrastructure Object Storage 「物件詳細資訊」找到 URI:
- 按一下 Oracle Cloud 旁邊的
,即可開啟 Oracle Cloud Infrastructure 主控台。
- 從 Oracle Cloud Infrastructure 左側導覽功能表中,按一下核心基礎架構。在物件儲存底下,按一下物件儲存。
- 在「清單範圍」下,選取區間。
- 從名稱欄中,選取儲存桶。
- 在「物件 (Object)」區域,按一下檢視物件詳細資訊 (View Object Details) 。
- 在物件詳細資訊頁面上, URL 路徑 (URI) 欄位會顯示存取物件的 URI。
Oracle Cloud Infrastructure Object Storage Swift URI 格式
如果您的來源檔案位於商業範圍 (OC1) 的 Oracle Cloud Infrastructure Object Storage 上,建議您使用下列使用物件儲存專用端點的 URI 格式。如需詳細資訊,請參閱 Object Storage Dedicated Endpoints 。
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
儲存設定 (Bucket) 中 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
是儲存桶名稱。請參閱瞭解 Object Storage 命名空間瞭解詳細資訊。
附註:
來源檔案必須儲存在 Object Storage 層貯體中。Autonomous Database 不支援封存儲存層中的儲存桶。如需詳細資訊,請參閱物件儲存簡介。
使用預先認證要求 URL 的 Oracle Cloud Infrastructure Object Storage URI 格式
如果您的來源檔案位於 Oracle Cloud Infrastructure Object Storage 上,您可以使用 Oracle Cloud Infrastructure 預先認證的 URI。當您建立預先認證的要求時,會產生唯一的 URL。接著,您可以為組織、合作夥伴或第三方中的使用者提供唯一的 URL,以存取預先認證要求中所識別的 Object Storage 資源目標。
附註:
仔細評估業務需求,以及預先驗證存取的安全相關問題。當您建立預先認證的要求 URL 時,請注意到期和存取類型,以確保它們適合您使用。預先認證要求 URL 可讓擁有 URL 存取權的任何人在要求中識別的目標 (只要要求為作用中)。除了考量預先認證存取的作業需求之外,管理其分送也同樣重要。
如果您的來源檔案位於商業範圍 (OC1) 的 Oracle Cloud Infrastructure Object Storage 上,建議您使用下列使用物件儲存專用端點的 URI 格式。如需詳細資訊,請參閱 Object Storage Dedicated Endpoints 。
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
是儲存桶名稱。請參閱瞭解 Object Storage 命名空間瞭解詳細資訊。
您可以在採用 URL 存取 Oracle Cloud Infrastructure 物件存放區中檔案的任何 DBMS_CLOUD
程序中使用預先認證的 URL,而不需要建立證明資料。您必須將 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,以及針對預先認證的 URL,會忽略指定的 credential_name
。
請參閱使用預先認證要求以瞭解詳細資訊。
Amazon S3 URI 格式
如果您的來源檔案位於 Amazon S3 ,請參閱下列以取得用於存取檔案的 URI 格式描述:存取儲存桶。
例如,下列是指 us-west-2
區域中 atpc
儲存桶中的 channels.txt
檔案。
https://s3-us-west-2.amazonaws.com/atpc/channels.txt
您可以在採用 URL 存取 Amazon S3 物件存放區中檔案的任何 DBMS_CLOUD
程序中使用預先簽署的 URL,而不需要建立證明資料。若要在任何 DBMS_CLOUD
程序中使用預先簽署的 URL,請將 credential_name
參數指定為 NULL
,或不要提供 credential_name
參數。
如需詳細資訊,請參閱與其他物件共用物件。
Azure Blob 儲存體 URI 格式
如果您的來源檔案位於 Azure Blob 儲存體中,請參閱下列以取得用於存取檔案的 URI 格式描述:資源 URI 語法。
例如,下列是指儲存體帳戶 atpc_user
中 atpc
容器中的 channels.txt
檔案:
https://atpc_user.blob.core.windows.net/atpc/channels.txt
附註:
您可以在採用 URL 存取 Azure Blob 儲存體中檔案的任何DBMS_CLOUD
程序中使用共用存取簽章 (SAS) URL,而不需要建立證明資料。若要使用「共用存取簽章 (SAS)」URL,請將 credential_name
參數指定為 NULL
,或不要提供 credential_name
參數。
請參閱授予使用共用存取簽章 (SAS) 存取 Azure 儲存資源的有限存取權以瞭解詳細資訊。
Amazon S3 相容 URI 格式
DBMS_CLOUD
支援支援 Amazon S3 相容 URL 的物件儲存服務實作,包括下列服務:
- 含 Amazon S3 相容 URL 的 Oracle Cloud Infrastructure Object Storage
- Google Cloud Storage 與 Amazon S3 相容的 URL
- Wasabi Hot Cloud Storage 搭配 Amazon S3 相容的 URL
如果您的來源檔案位於支援 Amazon S3 相容 URI 的服務上,請使用下列 URI 格式來存取您的檔案:
-
Oracle Cloud Infrastructure Object Storage S3 相容 URL
如果您的來源檔案位於商業範圍 (OC1) 中的 Oracle Cloud Infrastructure Object Storage 上,建議您使用下方所列的物件 URL 和儲存桶 URL 格式作為商業範圍 (OC1)。如需詳細資訊,請參閱 Object Storage Dedicated Endpoints 。
附註:
僅商業領域 (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 範例 |
---|---|---|---|
basic:// | 基本認證 | 儲存在資料庫證明資料物件中的使用者名稱和密碼是用來認證 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:// | 沒有認證。 | 公用 URL | 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;
/