簡體   English   中英

在 Azure 存儲帳戶中創建表

[英]Create Table in Azure Storage Account

有沒有辦法使用 ARM 模板在 Azure 存儲帳戶中創建表? 我可以使用 PowerShell 實現這一點,但找不到使用 JSON 模板的方法,而且當我使用 ( https://resources.azure.com ) 瀏覽我的部署資源時,我看不到對創建的表的任何引用在存儲帳戶下,知道為什么嗎?

謝謝,A Seyam

  1. 據我所知,沒有。 您可以查看使用 .NET/PHP/Python/... 開始使用 Azure 表存儲以了解詳細信息。
  2. Table 服務通過 REST API 公開 Account、Tables、Entity,因此您無法在門戶中看到它們。 您可以查看尋址表服務資源以獲取更多信息。

您可以像這樣通過 ARM 使用表創建 Azure 存儲帳戶,使用storageAccount資源上的tableServices/tables子資源:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageAccountName": {
      "type": "string",
      "minLength": 3,
      "maxLength": 24
    },
    "storageAccountSku": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS",
        "Standard_RAGRS"
      ]
    },
    "tableName": {
      "type": "string",
      "minLength": 3,
      "maxLength": 63
    }
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "name": "[parameters('storageAccountName')]",
      "apiVersion": "2019-06-01",
      "location": "[resourceGroup().location]",
      "kind": "StorageV2",
      "sku": {
        "name": "[parameters('storageAccountSku')]"
      },
      "resources": [
        {
          "name": "[concat('default/', parameters('tableName'))]",
          "type": "tableServices/tables",
          "apiVersion": "2019-06-01",
          "dependsOn": [
            "[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
          ]
        }
      ]
    }
  ]
}

該功能記錄在tableServices/tablesARM 模板規范頁面上

通過一些簡單的步驟使用 ARM 模板創建 Azure 存儲。 請找到以下步驟來實現它。

第 1 步:打開您的 powershell 並使用Connect-AzureRmAccount登錄您的帳戶

第 2 步:添加您的 SubscriptionId Select-AzureRmSubscription -SubscriptionId <your SubscriptionId>

步驟 3:創建資源組New-AzureRmResourceGroup -Name yourResourceGroup -Location "South Central US"

第 4 步:創建 azuredeploy.json 和 azuredeploy.parameters.json

azuredeploy.json

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
    "storageAccountName": {
        "type": "string",
        "metadata": {
            "description": "The name of the Azure Storage account."
        }
    },
    "containerName": {
        "type": "string",
        "defaultValue": "logs",
        "metadata": {
            "description": "The name of the blob container."
        }
    },
    "location": {
        "type": "string",
        "defaultValue": "[resourceGroup().location]",
        "metadata": {
            "description": "The location in which the Azure Storage resources should be deployed."
        }
    }
},
"resources": [
    {
        "name": "[parameters('storageAccountName')]",
        "type": "Microsoft.Storage/storageAccounts",
        "apiVersion": "2018-02-01",
        "location": "[parameters('location')]",
        "kind": "StorageV2",
        "sku": {
            "name": "Standard_LRS",
            "tier": "Standard"
        },
        "properties": {
            "accessTier": "Hot"
        },
        "resources": [
            {
                "name": "[concat('default/', parameters('containerName'))]",
                "type": "blobServices/containers",
                "apiVersion": "2018-03-01-preview",
                "dependsOn": [
                    "[parameters('storageAccountName')]"
                ]
            }
        ]
    }
]
}

azuredeploy.parameters.json

{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
    "storageAccountName": {
        "value": "yourstorage"
    }
}
}

第五步:運行以下命令

New-AzureRmResourceGroupDeployment -Name myDeployment -ResourceGroupName yourResourceGroup -TemplateFile <location>\azuredeploy.json -TemplateParameterFile <location>\azuredeploy.parameters.json

第 6 步:

$saContext = (Get-AzureRmStorageAccount -ResourceGroupName yourResourceGroup -Name sitastoragee).Context 
New-AzureStorageTable –Name yourtablestorage –Context $saContext

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM