是否可以使用terraform将文件上载到Azure共享?

是否可以使用terraform将文件上载到Azure共享?,terraform,azure-storage,azure-storage-files,Terraform,Azure Storage,Azure Storage Files,我使用terraform来配置存储帐户、容器和共享 出现了一个问题-我可以将文件上载到Azure存储帐户与terraform共享的文件吗?我找不到相应的资源 编辑1 一个想法是使用null_资源。我想知道它如何与使用terraform的好处相匹配,我认为: 还可以将其视为基础架构的文档。 它可以在做之前告诉你它将要做什么。 2的一个变体-它使您能够自动检查计划并强制执行策略。 它的状态可以用来回答关于发布管道到底配置了什么的审计问题。 它有一个非常简单的声明性语言。 其他潜在的好处可能是强制执行

我使用terraform来配置存储帐户、容器和共享

出现了一个问题-我可以将文件上载到Azure存储帐户与terraform共享的文件吗?我找不到相应的资源

编辑1

一个想法是使用null_资源。我想知道它如何与使用terraform的好处相匹配,我认为:

还可以将其视为基础架构的文档。 它可以在做之前告诉你它将要做什么。 2的一个变体-它使您能够自动检查计划并强制执行策略。 它的状态可以用来回答关于发布管道到底配置了什么的审计问题。 它有一个非常简单的声明性语言。 其他潜在的好处可能是强制执行所需的状态,不过,这在未来更具潜力,而不是当前。实际上,尝试删除terraform之外的资源。在理论上和未来,它可以认识到并重新创造,但今天它只是失败了。但潜力是存在的

所有这些好处都足以证明使用它是合理的,尽管有时我想用它做点什么


现在,所有这些好处如何适应在空_资源中运行自定义脚本?当然,检查计划对资源中的通用脚本没有帮助。我想知道它与其他福利的对比情况如何?

我不确定我是否理解您的所有要求。但是,当然,可以使用terraform将文件上传到Azure共享

是关于将本地文件复制到Azure文件共享以供参考的类似问题。允许您在创建资源后调用本地可执行PowerShell脚本。资源实现标准资源生命周期,但不采取进一步的操作

样本

 resource "azurerm_storage_share" "example" {
      name                 = "sharename"
      storage_account_name = azurerm_storage_account.example.name
      quota                = 50
    }

    resource "null_resource" "uploadfile" {

      provisioner "local-exec" {


      command = <<-EOT
      $storageAcct = Get-AzStorageAccount -ResourceGroupName "${azurerm_resource_group.example.name}" -Name "${azurerm_storage_account.example.name}"
       Set-AzStorageFileContent `
       -Context $storageAcct.Context `
       -ShareName "${azurerm_storage_share.example.name}" `
       -Source "C:\Users\xxx\terraform\test.txt" `
       -Path "test.txt"

      EOT

      interpreter = ["PowerShell", "-Command"]
      }

}

当然,首先想到的是使用一个空的资源,我从来没有用过它。与在terraform结束后运行一些脚本相比,使用null_资源有什么好处?让我用一个问题来回答您的问题。。。使用terraform的好处是什么scripts@HelderSepulveda-请参见编辑1这是一个更好的问题,我投票重新打开它。。。您是否研究过存储资源?这一个看起来是一个很好的候选者:这种方法的症结是什么?null_资源被视为普通资源,但它不提供任何属性或输出作为普通资源。如果您想要外部程序的查询输出,您可以