機能の概要
このAPIは、指定されたOB Cloudデータベースインスタンス内に新しいテナントを作成するために使用されます。テナント名、リソース構成、文字セット、タイムゾーンなどのパラメータを設定する必要があります。
説明
指定された仕様のテナントを作成するには、クラスタが十分な利用可能なリソースを持っている必要があります。
呼び出しの説明
インターフェース制約
呼び出し元はマルチクラウドAPIにアクセスするためのキーを保有している必要があります。AccessKey IDとAccessKey Secretの取得方法については、アクセスキーの管理をご参照ください。
リクエストパス
POST /api/v2/instances/{instanceId}/tenants
リクエストパラメータ
Path
名前 |
タイプ |
必須 |
説明 |
例 |
|---|---|---|---|---|
| instanceId | String | はい | OB CloudデータベースインスタンスID。 | ob317v4uif**** |
Query
名前 |
タイプ |
必須 |
説明 |
例 |
|---|---|---|---|---|
| requestId | String | はい | 追跡用のリクエストID。 | dc302d76-66b5-48d8-ab53-a035******** |
Body
名前 |
タイプ |
必須 |
説明 |
例 |
|---|---|---|---|---|
| tenantName | String | はい | テナント名。テナント名の検索ではあいまい一致がサポートされます。 | pay_**** |
| tenantId | String | いいえ | テナントID。 | t33h8y08k**** |
| tenantMode | String | はい | テナントモード。現在、Oracleモード(Oracle)とMySQLモード(MySQL)をサポートしています。データベースバージョンがV4.2.1.8、V4.2.5、V4.3.3の場合は、HBase/Tableのみをサポートし、そのテナントはHBase APIまたはTable APIのみを使用できます。 | Oracle |
| primaryZone | String | はい | テナントのプライマリゾーン。クラスタ展開ゾーンの一つです。 | cn-hangzhou-h |
| charset | String | はい | 文字セット。
注意
|
utf8mb4 |
| collation | String | いいえ | 照合順序。 | utf8mb4_general_ci |
| description | String | いいえ | データベースの説明情報。 | this is a test database |
| whitelist | String | いいえ | テナントアクセスホワイトリスト。 | 192.168.1.0/24,10.0.0.1 |
| timeZone | String | はい | テナントのタイムゾーン。詳細については、DescribeTimeZonesをご参照ください。 | Asia/Shanghai |
| cpu | Integer | はい | テナントのCPUサイズ、単位:コア数(Cores)。 | 2 |
| memory | Integer | はい | テナントメモリサイズ、単位GiB。 | 10 |
| diskSize | Integer | いいえ | テナントディスクサイズ、単位GiB。 | 100 |
| unitNum | Integer | いいえ | テナントのリソース分散ノード数。クラスタの展開モードと連携しており、例えばクラスタモードが2-2-2の場合、最終的な分散ノード数は最大2個です。 | 2 |
| environment | String | いいえ | テナント環境。 | production |
| enablePublicLink | Boolean | いいえ | 公開アドレスを作成するかどうか。
|
false |
| parameterTemplate | String | いいえ | パラメータテンプレート。 | default_template |
| createParams | object | いいえ | テナント作成時のパラメータ。テーブル名の大文字小文字を区別するかどうかなどが含まれます。hashMap型の入力で、例:createParams":{"lower_case_table_names":"1"} |
{"lower_case_table_names":"1"} |
| tenantCompatibilityModeEnum | String | いいえ | テナント互換モードの列挙。 | MYSQL |
| proxyAddressMasterZone | String | いいえ | プロキシアドレスのプライマリゾーン。 | cn-hangzhou-h |
| ProxySetting | Object | いいえ | プロキシ設定
説明このパラメータは現在、AWSチャネルインスタンスでのみ使用できます。 |
|
| -mode | String | いいえ | プロキシクラスタ仕様タイプ | k8s_shared |
| -deploymentArchitecture | String | いいえ | プロキシクラスタ展開方式
|
DUAL_AZ_ACTIVE_ACTIVE_DEPLOYMENT |
| -zone | Array | いいえ | プライマリノードゾーン | ["us-east-1a","us-east-1b"] |
| -slaveZone | Array | いいえ | スタンバイノードゾーン。二重/三重ゾーンプライマリ/スタンバイ展開方式を指定した場合にのみ設定します | [] |
| -nodeCpu | Float | いいえ | ノード仕様 | 0.5 |
戻り値
項目 |
タイプ |
説明 |
例値 |
|---|---|---|---|
| data | object | テナント情報。 | |
| tenantId | String | テナントID。 | t33h8y08k**** |
例
リクエスト例
curl --request POST 'https://api-cloud.oceanbase.com/api/v2/instances/{instanceId}/tenants?requestId={requestId}' \
--digest -u '<Your AK:SK>' \
-H 'X-Ob-Project-Id: <Project ID>' \
-H 'Content-Type: application/json' \
--data '{"tenantName":"pay_test","tenantMode":"MySQL","primaryZone":"cn-hangzhou-h","charset":"utf8mb4","timeZone":"Asia/Shanghai","cpu":2,"memory":10,"unitNum":1,"description":"This is a test tenant.","proxySetting":{"mode":"k8s_shared","deploymentArchitecture":"DUAL_AZ_ACTIVE_ACTIVE_DEPLOYMENT","nodeCpu":0.5,"zone":["us-east-1a","us-east-1b"],"slaveZone":[]}}'
説明
- プロジェクトIDはプロジェクトの一意の識別子です。プロジェクト管理を参照して、クラスタのプロジェクトIDを取得できます。
- instanceIdが属するプロジェクトのIDが指定されたプロジェクトIDと一致していることを確認してください。
戻り値例
JSON形式
{
"success": true,
"data": {
"tenantId": "t33h8y08k****"
},
"requestId": "dc302d76-66b5-48d8-ab53-a035********",
"server": "xxx.xxx.x.xxx:xxxx"
}