次の方法で共有


Microsoft.Storage.StorageAccountSelector UI 要素

新規または既存のストレージ アカウントを選択するために使用されるコントロール。

ストレージ アカウント名は、Azure 全体でグローバルに一意で、長さは 3 から 24 文字で、小文字または数字のみを含める必要があります。

UI サンプル

StorageAccountSelector コントロールには、ストレージ アカウントの既定の名前が表示されます。 既定値はコードで設定されます。

新しいストレージ アカウントの既定値を示すストレージ アカウント セレクター要素のスクリーンショット。

StorageAccountSelector コントロールを使用すると、新しいストレージ アカウントを作成するか、既存のストレージ アカウントを選択することができます。

新しいストレージ アカウントを作成するためのストレージ アカウント セレクター オプションを示すスクリーンショット。

スキーマ

{
  "name": "element1",
  "type": "Microsoft.Storage.StorageAccountSelector",
  "label": "Storage account selector",
  "toolTip": "",
  "defaultValue": {
    "name": "storageaccount01",
    "type": "Premium_LRS"
  },
  "constraints": {
    "allowedTypes": [],
    "excludedTypes": []
  },
  "options": {
    "hideExisting": false
  },
  "visible": true
}

サンプル出力

{
  "name": "storageaccount01",
  "resourceGroup": "demoRG",
  "type": "Standard_LRS",
  "newOrExisting": "new",
  "kind": "StorageV2"
}

解説

  • defaultValue.name は必須であり、値は一意であることが自動的に検証されます。 ストレージ アカウント名が一意でない場合、ユーザーは別の名前を指定するか、既存のストレージ アカウントを選択する必要があります。
  • defaultValue.type の既定値は Premium_LRS です。 任意のストレージ アカウントの種類を既定値として設定できます。 たとえば、Standard_LRSStandard_GRS などです。
  • constraints.allowedTypes で指定されていない型はすべて非表示となり、constraints.excludedTypes で指定されていない型はすべて表示されます。 constraints.allowedTypesconstraints.excludedTypes は両方ともオプションとして使用できますが、同時に使用することはできません。
  • options.hideExistingtrueされている場合、ユーザーは既存のストレージ アカウントを選択できません。 既定値は false です。 コントロールには、ストレージ アカウントが [基本] タブで選択したものと同じリソース グループおよびリージョンにある場合にのみ、ストレージ アカウントを既存として表示します。
  • kind プロパティには、新しいストレージ アカウントが作成された場合、または既存のストレージ アカウントの値が表示されます。

ストレージ アカウントの名前と種類の既定値は一例です。 環境に独自の既定値を設定できます。

outputs セクションの storageSelector 出力には、ストレージ アカウントのすべての値が含まれています。 storageKindstorageName は、特定の値を出力する方法の例です。

{
  "$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
  "handler": "Microsoft.Azure.CreateUIDef",
  "version": "0.1.2-preview",
  "parameters": {
    "basics": [
      {}
    ],
    "steps": [
      {
        "name": "StorageAccountSelector",
        "label": "Storage account selector",
        "elements": [
          {
            "name": "storageSelectorElement",
            "type": "Microsoft.Storage.StorageAccountSelector",
            "label": "Storage account name",
            "toolTip": "",
            "defaultValue": {
              "name": "storageaccount01",
              "type": "Premium_LRS"
            },
            "options": {
              "hideExisting": false
            },
            "visible": true
          }
        ]
      }
    ],
    "outputs": {
      "location": "[location()]",
      "storageSelector": "[steps('StorageAccountSelector').storageSelectorElement]",
      "storageKind": "[steps('StorageAccountSelector').storageSelectorElement.kind]",
      "storageName": "[steps('StorageAccountSelector').storageSelectorElement.name]"
    }
  }
}

出力例

新しいストレージ アカウントの出力。

{
  "location": {
    "value": "westus3"
  },
  "storageSelector": {
    "value": {
      "name": "demostorageaccount01",
      "resourceGroup": "demoRG",
      "type": "Standard_GRS",
      "newOrExisting": "new",
      "kind": "StorageV2"
    }
  },
  "storageKind": {
    "value": "StorageV2"
  },
  "storageName": {
    "value": "demostorageaccount01"
  }
}

既存のストレージ アカウントの出力。

{
  "location": {
    "value": "westus3"
  },
  "storageSelector": {
    "value": {
      "name": "demostorage99",
      "resourceGroup": "demoRG",
      "type": "Standard_LRS",
      "newOrExisting": "existing",
      "kind": "StorageV2"
    }
  },
  "storageKind": {
    "value": "StorageV2"
  },
  "storageName": {
    "value": "demostorage99"
  }
}

次のステップ