リソースグループのプロパティ

リソースグループJSONファイルは、コンソールからダウンロードできるサンプルリソースグループファイルと一致するようにフォーマットすることができます。

以下のセクションでは、設定可能なリソースグループプロパティについて説明します。

メイン・プロパティー

メイン・プロパティー
プロパティー名 タイプ 必須 / 任意指定 説明
rootGroups 配列 必須 リソースグループの仕様を定義する。
selectors 配列 必須 リソースグループのセレクタ構成を指定します。
cpuQuotaPeriod ストリング オプション CPUクォータ期間を指定する。 このプロパティは、パターン ^\d+(.\d+)?[smhd]$ と一致しなければならない。

rootGroups プロパティー

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つの制限を持つことができる。 また、minmax、またはその両方のパラメータを、3つの制限すべてに使用することもできます。 例えば、"selectorResourceEstimate": {"executionTime": {"min": "5m"}です。 どのリミットも負の値は許されない。 制限の詳細については、selectorResourceEstimate limits を参照してください。
clientInfo 文字列またはnull (文字列には有効な正規表現 (.*) を指定できます) オプション クライアント情報の正規表現パターンを指定します。
schema 文字列またはnull (文字列には有効な正規表現 (.*) を指定できます) オプション スキーマを指定する。
principal 文字列またはnull (文字列には有効な正規表現 (.*) を指定できます) オプション 主要な正規表現パターンを指定する。
group ストリング 必須 グループ名は、リソースグループで使用可能な名前でなければなりません。 サブグループにリダイレクトするには、"group": "groupname.subgroupname" を使います。 また、${SOURCE}${USER}${SCHEMA} のような動的な値をルートグループ名に使うこともできます。 group の中に null を入れることはできません。

sourceuser の正規表現では、与えられた名前を (?<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 制限

  • executionTime

    • min: プロパティのタイプは文字列です。 このプロパティはパターン ^\\d+(\\.\\d+)?[smhd]$ と一致しなければならない。
    • max: プロパティのタイプは文字列です。 このプロパティはパターン ^\\d+(\\.\\d+)?[smhd]$ と一致しなければならない。
  • peakMemory

    • min: プロパティのタイプは文字列です。 このプロパティはパターン ^\s*(\d+(?:\.\d+)?)\s*([a-zA-Z]+)\s*$ と一致しなければならない。
    • max プロパティのタイプは文字列です。 このプロパティはパターン ^\s*(\d+(?:\.\d+)?)\s*([a-zA-Z]+)\s*$ と一致しなければならない。
  • cpuTime

    • min: プロパティのタイプは文字列です。 このプロパティはパターン ^\\d+(\\.\\d+)?[smhd]$ と一致しなければならない。
    • max: プロパティのタイプは文字列です。 このプロパティはパターン ^\\d+(\\.\\d+)?[smhd]$ と一致しなければならない。

cpuQuotaPeriod プロパティー

セレクタ・プロパティ
プロパティー名 タイプ 必須 / 任意指定 説明
cpuQuotaPeriod ストリング オプション CPUクォータ期間を指定する。 このプロパティは、パターン ^\d+(\.\d+)?[smhd]$ と一致しなければならない