Как часть сценария Terraform определения Azure ACI, я создаю azurerm_storage_share, в который я хочу затем загрузить некоторые файлы перед подключением к моему контейнеру.
Насколько я могу судить, правильный способ получить доступ к однажды созданному общему ресурсу - через SMB. Это исключает все средства обеспечения Terraform (кроме local-exec), которые поддерживают только SSH или WinRM.
Поэтому я думаю, что наиболее эффективный и удобный способ сделать это - выполнить local-exec для сценария, который запускает команды azure-cli, такие как загрузка хранилища z ...? Таким образом, TF делает то, что у него получается лучше всего (оркестровка), и имеет возможность настройки конфигурации.
Да ты прав. Terrafrom не мог напрямую получить доступ к файловому ресурсу Azure и загружать в него файлы.
Исходя из моих знаний, возможно, вы могли бы хранить свои файлы на виртуальной машине Linux и установить Azure Cli 2.0 в теме. Затем вы можете написать сценарий для загрузки файлов в общую папку Azure, как показано ниже:
#!/bin/bash
# A simple Azure Storage example script
export AZURE_STORAGE_ACCOUNT=<storage_account_name>
export AZURE_STORAGE_ACCESS_KEY=<storage_account_key>
az storage file upload --share-name myshare --source ~/temp/samplefile.txt
Подробнее об этом см. Здесь ссылка на сайт.
Затем вы можете подключиться к этой виртуальной машине по SSH и выполнить этот скрипт на Terraform.