구획 정보
Oracle NoSQL Database 드라이버를 사용하여 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로 권한을 부여하는 경우에만 적용됩니다. 인증에 인스턴스 주체 또는 리소스 주체를 사용하는 경우 이러한 경우 기본값이 없으므로 구획 ID를 지정해야 합니다.
구획이 제공되지 않을 경우 테넌시 OCID가 기본값으로 사용됩니다. 사용자의 ID로 권한을 부여하는 경우에만 적용됩니다. 인스턴스 주체 또는 리소스 주체를 사용하는 경우 구획 ID를 지정해야 합니다.
인스턴스 주체를 설정하는 절차는 인스턴스에서 서비스 호출을 참조하십시오. 리소스 주체를 설정하는 절차는 실행 중인 함수에서 기타 Oracle Cloud Infrastructure 리소스 액세스를 참조하십시오.
NoSQLConfig
의 구획 속성을 설정하여 지정할 수 있습니다. 예:var client = new NoSQLClient(
new NoSQLConfig
{
Region=Region.US_ASHBURN_1,
Compartment="<compartment_ocid_or_name>"
});
문자열 값은 구획 OCID 또는 구획 이름 또는 경로일 수 있습니다. 단순 이름인 경우 최상위 구획을 지정해야 합니다. 중첩된 구획에 대한 경로인 경우 최상위 구획은 테넌시에서 추론되므로 제외해야 합니다.또한 모든 작업 옵션 클래스에는 TableDDLOptions.Compartment
, GetOptions.Compartment
, PutOptions.Compartment
등과 같은 Compartment
속성이 있습니다. 따라서 작업에 대해 별도로 비교를 지정할 수도 있습니다. 이 값은 설정된 경우 NoSQLConfig
의 구획 값(있는 경우)을 무효화합니다.
구획이 제공되지 않을 경우 테넌시 OCID가 기본값으로 사용됩니다. 사용자의 ID로 권한을 부여하는 경우에만 적용됩니다. 인스턴스 주체 또는 리소스 주체를 사용하는 경우 구획 ID를 지정해야 합니다.
관련 항목