关于区间
了解如何使用 Oracle NoSQL Database Drivers 创建和使用 Oracle NoSQL Database Cloud Service 表时如何指定区间。
如果您已使用实例主体进行验证(从 OCI 计算实例访问服务),则必须使用其 ID (OCID) 指定区间,因为在这种情况下没有默认值。请参阅 Oracle Cloud Infrastructure 文档中的从实例调用服务。
- 使用
NoSQLHandleConfig
中的默认区间,使其适用于使用句柄的所有操作。有关示例,请参见 Obtaining a NoSQL Handle 。 - 除了表名外,还应在每个请求中使用区间名称或 ID (OCID)。这将覆盖任何默认区间。
例如:
GetRequest getReq = new GetRequest().setTableName("mytable") .setCompartment("mycompartment");
- 使用区间名称作为表名称的前缀。这将覆盖任何默认区间以及使用 API 指定的区间。
例如:
GetRequest getReq = new GetRequest().setTableName("mycompartment:mytable");
注意:
指定嵌套区间的路径时,请勿在路径中包含从租户推断出的顶级区间名称。- 存在允许为
borneo.NoSQLHandleConfig.set_compartment()
中的请求指定默认区间的方法。这将覆盖用户的默认区间。 - 此外,还可以在每个
Request
实例中指定一个区间。
set_compartment
方法采用 ID (OCID)、区间名称或路径。如果使用区间名称,则可能是顶级区间的名称。
注意:
如果区间路径用于引用嵌套区间,则该路径是点分隔的路径,不包括该路径的顶级区间,例如compartmentA.compartmentB
。
...
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。
有关设置实例主体的过程,请参见 Calling Services from an Instance 。有关设置资源主体的过程,请参阅从运行函数访问其他 Oracle Cloud Infrastructure 资源。
NoSQLConfig
来指定所有操作的默认区间。例如:var client = new NoSQLClient(
new NoSQLConfig
{
Region=Region.US_ASHBURN_1,
Compartment="<compartment_ocid_or_name>"
});
字符串值可以是区间 OCID,也可以是区间名称或路径。如果是简单名称,则必须指定顶级区间。如果是嵌套区间的路径,则必须排除顶级区间(因为它是从租户推断出来的)。此外,所有操作选项类都具有 Compartment
属性,例如 TableDDLOptions.Compartment
、GetOptions.Compartment
、PutOptions.Compartment
等。因此,您还可以为任何操作单独指定比较。此值(如果设置)将覆盖 NoSQLConfig
中的区间值(如果有)。
如果未提供区间,则租户 OCID 将用作默认值。请注意,这仅适用于使用用户身份进行授权的情况。使用实例主体或资源主体时,必须指定区间 ID。
相关主题