リソースグループのプロパティ
リソースグループJSONファイルは、コンソールからダウンロードできるサンプルリソースグループファイルと一致するようにフォーマットすることができます。
以下のセクションでは、設定可能なリソースグループプロパティについて説明します。
メイン・プロパティー
| プロパティー名 | タイプ | 必須 / 任意指定 | 説明 |
|---|---|---|---|
rootGroups |
配列 | 必須 | リソースグループの仕様を定義する。 |
selectors |
配列 | 必須 | リソースグループのセレクタ構成を指定します。 |
cpuQuotaPeriod |
ストリング | オプション | CPUクォータ期間を指定する。 このプロパティは、パターン ^\d+(.\d+)?[smhd]$ と一致しなければならない。 |
rootGroups プロパティー
| プロパティー名 | タイプ | 必須 / 任意指定 | 説明 |
|---|---|---|---|
name |
ストリング | 必須 | リソース・グループの名前。 名前が {、}、$ を含む場合は、${([a-zA-Z][a-zA-Z0-9]*)} のパターンでなければなりません。 名前には空白を入れることができる。 名前にピリオド(.)を含めることはできない。2つの兄弟グループに同じ名前を付けることはできません。 ルートグループとサブグループに同じ名前を付けることができます。 |
softMemoryLimit |
ストリング | 必須 | ソフトメモリーの上限を指定する。 最小値:0%。 最大値:999%。 |
maxQueued |
整数 | オプション | キューに入れられたリクエストの最大数を指定します。 最小値:0。 最大値:2147483647。 値は 0 で始まってはいけません。 例えば、01, 05 のように。1, 5 のように指定します。0 だけでも有効な値です。 |
softConcurrencyLimit |
整数またはNULL | オプション | ソフトの同時実行数制限を指定する。 最小値:0。 最大値:2147483647。 値は 0 で始まってはいけません。 例えば、01, 05 のように。1, 5 のように指定します。0 だけでも有効な値です。 |
maxRunning |
整数またはNULL | オプション | 最大実行回数を指定する。 最小値:0。 最大値:2147483647。 値は 0 で始まってはいけません。 例えば、01, 05 のように。1, 5 のように指定します。0 だけでも有効な値です。 |
hardConcurrencyLimit |
整数 | 必須(maxRunning の値がある場合、hardConcurrencyLimit がその値を取る。 maxRunning が設定されていない場合は、hardConcurrencyLimit に値を設定する必要があります) |
ハード同時実行数制限を指定する。 最小値:0。 最大値:2147483647。 The value must be greater than or equal to softConcurrencyLimit. 0 で始まってはならない。 例えば、01, 05 のように。1, 5 のように指定します。0 だけでも有効な値です。 |
schedulingPolicy |
文字列(以下の値が利用可能です:fair, weighted, weighted_fair, query_priority.これらの値は大文字と小文字を区別しません) |
オプション | スケジューリングポリシーを指定します。 |
schedulingWeight |
整数またはNULL | オプション | スケジューリングの重みを指定する。 許容値(最小値から最大値まで):1~2147483647。 値は 0 で始まってはいけません。 例えば、01, 05 のように。1, 5 のように指定します。0 だけでも有効な値です。 サブグループが schedulingWeight を持つ場合、そのサブグループの対応する兄弟はすべて
schedulingWeight を持たなければならない。 |
subGroups |
配列またはヌル | オプション | リソースグループ内のサブグループを指定します。 サブグループには、リソースグループと同じように、異なるプロパティに対するルールがあります。 |
jmxExport |
ブールまたはヌル | オプション | JMX エクスポートが有効かどうかを示します。 |
softCpuLimit |
ストリング | オプション | ソフトCPU制限を指定する。 これはパターン ^\d+(.\d+)?[smhd]$ にマッチしなければならない。 hardCpuLimit が定義されている場合、softCpuLimit の値は hardCpuLimit 以下でなければなりません。 |
hardCpuLimit |
ストリング | オプション | ハードCPU制限を指定する。 これはパターン ^\d+(.\d+)?[smhd]$ にマッチしなければならない。 |
perQueryLimits |
オブジェクト | オプション | クエリごとの制限を指定する。 例 "perQueryLimits": { "executionTimeLimit": "30m", "totalMemoryLimit": "2GB", "cpuTimeLimit": "1h" }. このオブジェクトは、以下の1つ、2つ、または3つの制限を持つことができます。
以下の限度額では負の値は認められない。1.executionTimeLimit (タイプ: String, パターン: This property must match with the pattern ^\d+(.\d+)?[smhd]$.), 2. totalMemoryLimit (タイプ:
String, パターン: This property must match with the pattern ^\s*(\d+(?:.\d+)?)\s*([a-zA-Z]+)\s*$.), 3. cpuTimeLimit (Type: String, Pattern: このプロパティはパターン ^\d+(.\d+)?[smhd]$ と一致しなければならない) |
workersPerQueryLimit |
整数またはNULL | オプション | クエリあたりのワーカー数を指定します。 許容値(最小値から最大値まで):-2147483648 から 2147483647。 The value must be greater than or equal to softConcurrencyLimit. 0 で始まってはならない。 例えば、01, 05 のように。1, 5 のように指定します。0 だけでも有効な値です。 |
selectors プロパティー
| プロパティー名 | タイプ | 必須 / 任意指定 | 説明 |
|---|---|---|---|
user |
文字列またはnull (文字列には有効な正規表現 (.*) を指定できます) |
オプション | ユーザー正規表現パターンを指定します。 |
source |
文字列またはnull (文字列には有効な正規表現 (.*) を指定できます) |
オプション | ソース正規表現パターンを指定します。 |
queryType |
文字列またはnull。 (取り得る値は data_definition, delete, describe, explain, analyze, insert, select, control, update です。 これらの値は大文字と小文字を区別しない) |
オプション | クエリータイプを指定する。 |
clientTags |
文字列のリストまたはnull(例:"clientTags": ["resourceGroup1","resourceGroup2"].storageStringsは任意の有効な正規表現(.*)を持つことができる) |
オプション | クライアントタグを指定します。 |
selectorResourceEstimate |
オブジェクトまたはヌル | オプション | セレクタリソースの推定値を指定する。 例"selectorResourceEstimate": {"executionTime": {"min": "5m", "max": "10m"}, "cpuTime": {"min": "30m", "max": "1h"}, "peakMemory": {"min": "512MB", "max": "2GB"}}.
オブジェクトは1つ、2つ、または3つの制限を持つことができる。 また、min、max、またはその両方のパラメータを、3つの制限すべてに使用することもできます。 例えば、"selectorResourceEstimate": {"executionTime": {"min": "5m"}です。 どのリミットも負の値は許されない。
制限の詳細については、selectorResourceEstimate limits を参照してください。 |
clientInfo |
文字列またはnull (文字列には有効な正規表現 (.*) を指定できます) |
オプション | クライアント情報の正規表現パターンを指定します。 |
schema |
文字列またはnull (文字列には有効な正規表現 (.*) を指定できます) |
オプション | スキーマを指定する。 |
principal |
文字列またはnull (文字列には有効な正規表現 (.*) を指定できます) |
オプション | 主要な正規表現パターンを指定する。 |
group |
ストリング | 必須 | グループ名は、リソースグループで使用可能な名前でなければなりません。 サブグループにリダイレクトするには、"group": "groupname.subgroupname" を使います。 また、${SOURCE}、${USER}、${SCHEMA} のような動的な値をルートグループ名に使うこともできます。 group の中に null を入れることはできません。 |
source と user の正規表現では、与えられた名前を (?<sampleName>.*) の形式で動的グループ名として使うことができます。 以下に例を示します。
{
"source": "(?<sampleName>.*)",
"clientTags": [
"hipri"
],
"group": "bi-${sampleName}"
}and there is a group as ,{
"name": "bi-${sampleName}",
"softMemoryLimit": "80%",
"hardConcurrencyLimit": 100,
"maxQueued": 1000,
"schedulingPolicy": "weighted",
"jmxExport": true
}
この例では、sampleName は動的な値です。 名前に特殊文字は使用できません。 ${SOURCE}、${USER}、${SCHEMA} のように他の値を追加することもできます。 グループ名は大文字と小文字を区別する。 動的変数の前後に値を持つことができる。 例えば、abc-${SOURCE} や ${toolname}-xyz のように。
selectorResourceEstimate 制限
-
executionTimemin: プロパティのタイプは文字列です。 このプロパティはパターン^\\d+(\\.\\d+)?[smhd]$と一致しなければならない。max: プロパティのタイプは文字列です。 このプロパティはパターン^\\d+(\\.\\d+)?[smhd]$と一致しなければならない。
-
peakMemorymin: プロパティのタイプは文字列です。 このプロパティはパターン^\s*(\d+(?:\.\d+)?)\s*([a-zA-Z]+)\s*$と一致しなければならない。maxプロパティのタイプは文字列です。 このプロパティはパターン^\s*(\d+(?:\.\d+)?)\s*([a-zA-Z]+)\s*$と一致しなければならない。
-
cpuTimemin: プロパティのタイプは文字列です。 このプロパティはパターン^\\d+(\\.\\d+)?[smhd]$と一致しなければならない。max: プロパティのタイプは文字列です。 このプロパティはパターン^\\d+(\\.\\d+)?[smhd]$と一致しなければならない。
cpuQuotaPeriod プロパティー
| プロパティー名 | タイプ | 必須 / 任意指定 | 説明 |
|---|---|---|---|
| cpuQuotaPeriod | ストリング | オプション | CPUクォータ期間を指定する。 このプロパティは、パターン ^\d+(\.\d+)?[smhd]$ と一致しなければならない |