C# 使用ARM模板将文件上载到存储帐户

C# 使用ARM模板将文件上载到存储帐户,c#,azure,azure-storage-blobs,azure-resource-manager,C#,Azure,Azure Storage Blobs,Azure Resource Manager,我是azure的新手。我在azure门户中创建了一个存储帐户。我需要使用ARM模板将文件上载到存储帐户。谁能告诉我怎么做吗?正如Bruno Faria提到的,我们不能使用ARM模板来做这件事。使用Azure ARM模板。您可以在单个协调操作中部署、更新或删除解决方案的所有资源。有关ARM模板的更多详细信息,请参阅 使用资源管理器,您可以创建一个模板(JSON格式),用于定义Azure解决方案的基础架构和配置。通过使用模板,您可以在解决方案的整个生命周期中反复部署,并确信您的资源是以一致的状态部署

我是azure的新手。我在azure门户中创建了一个存储帐户。我需要使用ARM模板将文件上载到存储帐户。谁能告诉我怎么做吗?

正如Bruno Faria提到的,我们不能使用ARM模板来做这件事。使用Azure ARM模板。您可以在单个协调操作中部署、更新或删除解决方案的所有资源。有关ARM模板的更多详细信息,请参阅

使用资源管理器,您可以创建一个模板(JSON格式),用于定义Azure解决方案的基础架构和配置。通过使用模板,您可以在解决方案的整个生命周期中反复部署,并确信您的资源是以一致的状态部署的

我们可以很容易地做到这一点

如果我们尝试使用这个程序,我们可以从Azure官方获得演示代码


目前不支持使用ARM模板将文件上载到Blob存储。

这背后的逻辑是,ARM模板用于管理Azure资源(执行创建、删除和更改资源属性等操作),而不是管理您对这些资源的使用

将文件上载到Blob存储的方式有:

  • 通过存储资源管理器工具手动执行-
  • 通过Az Powershell命令编程
  • 也就是说,部署容器(资源本身)可以如下面的模板所示完成:(归功于)


    使用ARM模板无法做到这一点。你能告诉我们更多关于你的需求的细节吗?我必须将其中一个项目文件夹中创建的所有json文件移动到存储帐户中。我必须使用ARM模板和EV2工具来完成这项工作。我不知道该怎么开始。如果您有任何想法,我们将不胜感激。是否可以使用azure功能来实现这一点?是的,我们也可以使用azure功能来实现这一点。我们可以通过Azure函数Http触发器实现这一点。但在我看来,我们可以轻松地上传文件。@TomSun如您所述,有没有一种方法可以使用arm模板更新现有存储帐户,例如使用我们自己的密钥加密存储帐户等。。因为我已经搜索了一段时间,但无法获得任何东西,所以通过ARM模板创建StorageAccount的过程有很好的文档记录。问题是如何使用ARM模板将文件上载到存储帐户,而不是创建存储帐户。
    // Retrieve storage account from connection string.
    CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
        CloudConfigurationManager.GetSetting("StorageConnectionString"));
    
    // Create the blob client.
    CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
    
    // Retrieve reference to a previously created container.
    CloudBlobContainer container = blobClient.GetContainerReference("mycontainer");
    
    // Retrieve reference to a blob named "myblob".
    CloudBlockBlob blockBlob = container.GetBlockBlobReference("myblob");
    
    // Create or overwrite the "myblob" blob with contents from a local file.
    using (var fileStream = System.IO.File.OpenRead(@"path\myfile"))
    {
        blockBlob.UploadFromStream(fileStream);
    }
    
    {
      "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "storageAccountName": {
          "type": "string"
        }
      },
      "variables": {
        "containerName": "logs"
      },
      "resources": [
        {
          "name": "[parameters('storageAccountName')]",
          "type": "Microsoft.Storage/storageAccounts",
          "apiVersion": "2018-02-01",
          "location": "[resourceGroup().location]",
          "kind": "StorageV2",
          "sku": {
            "name": "Standard_LRS",
            "tier": "Standard"
          },
          "properties": {
            "accessTier": "Hot"
          },
          "resources": [
            {
              "name": "[concat('default/', variables('containerName'))]",
              "type": "blobServices/containers",
              "apiVersion": "2018-03-01-preview",
              "dependsOn": [
                "[parameters('storageAccountName')]"
              ]
            }
          ]
        }
      ]
    }