關於區間

瞭解如何在使用 Oracle NoSQL Database 驅動程式建立及使用 Oracle NoSQL Database Cloud Service 表格時指定區間。

在區間中建立 Oracle NoSQL Database Cloud Service 表格,並設定該區間的範圍。以特定使用者身分認證時,除非另有指定,否則系統會在您租用戶的根區間中管理您的表格。將表格組織到不同的區間有助於組織和安全。

如果您已使用執行處理主體 (從 OCI 運算執行處理存取服務) 進行認證,則必須使用其 ID (OCID) 指定區間,因為在此情況下沒有預設值。請參閱 Oracle Cloud Infrastructure 文件中的從執行處理呼叫服務

在您的應用程式程式碼中指定區間的方法有數種:
  1. 使用 NoSQLHandleConfig 中的預設區間,讓它適用於使用控點的所有作業。如需範例,請參閱取得 NoSQL 處理
  2. 除了表格名稱之外,請在每個要求中使用區間名稱或 ID (OCID)。這會覆寫所有預設區間。
    舉例而言:
    GetRequest getReq = new GetRequest().setTableName("mytable")
                                        .setCompartment("mycompartment");
  3. 使用區間名稱作為表格名稱的前置碼。這會覆寫所有預設區間以及使用 API 指定的區間。
    舉例而言:
    GetRequest getReq = new GetRequest().setTableName("mycompartment:mytable");
使用具名區間時,名稱可以是最上層區間的簡單名稱,也可以是巢狀區間的路徑。在後者的案例中,路徑是以 "." (點) 區隔的路徑。

附註:

指定巢狀區間的路徑時,請勿將最上層區間的名稱包含在從租用戶推斷的路徑中。
在您的應用程式程式碼中指定區間的方法有數種:
  • 存在允許設定 borneo.NoSQLHandleConfig.set_compartment() 中要求之預設區間的方法。這會覆寫使用者的預設區間。
  • 此外,還可以在每個 Request 執行處理中指定區間。
set_compartment 方法採用 ID (OCID)、區間名稱或路徑。如果使用區間名稱,則可能是最上層區間的名稱。

附註:

如果使用區間路徑參照巢狀區間,則該路徑是一個點分隔路徑,不包括路徑的最上層區間,例如 compartmentA.compartmentB
您可以在要求、查詢或 DDL 敘述句中使用區間名稱作為表格名稱的前置碼,而不是在要求中設定區間。此用量會覆寫區間的任何其他設定。例如,
...
request = PutRequest().set_table_name('mycompartment:mytable')
...
create_statement = 'create table mycompartment:mytable(...)' 
...
request = GetRequest().set_table_name('compartmentA.compartmentB')
在您的應用程式程式碼中指定區間的方法有數種:
  • 您可以設定想要的區間名稱或 ID。
  • 設為空白字串以使用預設區間 (亦即租用戶的根區間)。
  • 如果使用巢狀區間,請將相對於根區間的完整區間路徑指定為 compartmentID。例如,如果使用 rootCompartment.compartmentA.compartmentB,則 compartmentID 應設為 compartmentA.compartmentB
  • 您也可以使用區間 OCID 作為字串值。
compartmentID:="<optional-compartment-name-or-ID>"
iam.NewRawSignatureProvider(tenancy, user, region, fingerprint, compartmentID,
        privateKey, &privateKeyPassphrase)
您可以設定傳送至 NoSQLClient 建構子之組態的區間特性,為 NoSQLClient 執行處理執行的所有作業指定預設區間:
import { NoSQLClient,Region } from 'oracle-nosqldb';
const client = new NoSQLClient({
    region: Region.US_ASHBURN_1,
    compartment: 'mycompartment'
});

字串值可以是區間 ID、區間名稱或路徑。如果是簡單名稱,就必須指定最上層區間。若是巢狀區間的路徑,則必須排除最上層區間,因為此區間是從租用戶推斷。您也可以在選項物件的每個要求中指定區間。這個值會覆寫初始組態值。

如果您未指定區間,將會使用租用戶的根區間作為預設值。這只有在您授權特定使用者的識別時才適用。如果您使用執行處理主體或資源主體進行認證,則必須指定區間 ID,因為在這些情況下沒有預設值。

若未提供區間,將會使用租用戶 OCID 作為預設值。請注意,只有在您授權使用使用者的身分時才適用。使用執行處理主體或資源主體時,必須指定區間 ID。

如需設定執行處理主體的程序,請參閱從執行處理呼叫服務。如需設定資源主體的程序,請參閱從執行中的函數存取其他 Oracle Cloud Infrastructure 資源

表格的預設區間是使用者租用戶的根區間。設定 NoSQLConfig 的「區間」特性即可指定所有作業的預設區間。舉例而言:
var client = new NoSQLClient(
    new NoSQLConfig
    {
        Region=Region.US_ASHBURN_1,
        Compartment="<compartment_ocid_or_name>"
    });
字串值可以是區間 OCID、區間名稱或路徑。如果是簡單名稱,就必須指定最上層區間。若是巢狀區間的路徑,則必須排除最上層區間,因為此區間是從租用戶推斷。

此外,所有作業選項類別都有 Compartment 特性,例如 TableDDLOptions.CompartmentGetOptions.CompartmentPutOptions.Compartment 等。因此,您也可以為任何作業個別指定比較。如果設定此值,將會覆寫 NoSQLConfig 中的區間值 (如果有的話)。

若未提供區間,將會使用租用戶 OCID 作為預設值。請注意,只有在您授權使用使用者的身分時才適用。使用執行處理主體或資源主體時,必須指定區間 ID。

相關主題