gpt4 book ai didi

terraform - 是否可以使用 terraform 将文件上传到 Azure Share?

转载 作者:行者123 更新时间:2023-12-01 21:33:58 25 4
gpt4 key购买 nike

我使用 Terraform 配置存储帐户、容器、共享。

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

编辑 1

一个想法是使用null_resource。我想知道它如何与使用 Terraform 的好处相适应,我认为这些好处是:

  1. 它也可以被视为您的基础架构的文档。
  2. 它可以在你做之前告诉你它要做什么。
  3. (2) 的变体 - 它使您能够自动检查计划并执行政策。
  4. 它的状态可用于回答关于发布管道到底配置了什么的审计问题。
  5. 它有一个非常简单的声明性语言。

其他潜在的好处可能是强制执行所需的状态,不过,这更有可能和 future ,而不是当前。实际上,尝试删除 terraform 之外的资源。理论上和 future 它可以识别它并重新创建,今天它只是失败了。但潜力是存在的。

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

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

最佳答案

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

Here类似copy local files to Azure file share的问题,供大家引用。 local-exec provisioner允许您在创建资源后调用本地可执行的 PowerShell 脚本。 null_resource资源实现标准资源生命周期但不采取进一步行动。

示例,

 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 - 是否可以使用 terraform 将文件上传到 Azure Share?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62235493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com