Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于读取json文件的Azure自动化脚本_Azure_Azure Automation - Fatal编程技术网

用于读取json文件的Azure自动化脚本

用于读取json文件的Azure自动化脚本,azure,azure-automation,Azure,Azure Automation,我一直在使用Azure Automation执行一些任务,例如关闭虚拟机,在不使用它的情况下删除云服务插槽(登台) 这一切都很好,我在代码中定义了很多VM/云服务名称。我想让我们的团队更干净一点。我的想法是用这些信息定义一个json文件,并让脚本从json文件中读取值 Azure自动化是否允许使用json文件?我不认为这是一种“设置类型”。如果不允许使用该功能,是否有人有其他创造性的方法来解决此问题?没有任何东西可以阻止您使用变量类型(字符串)来存储json。UI的单行对话框不是查看数据的最佳选

我一直在使用Azure Automation执行一些任务,例如关闭虚拟机,在不使用它的情况下删除云服务插槽(登台)

这一切都很好,我在代码中定义了很多VM/云服务名称。我想让我们的团队更干净一点。我的想法是用这些信息定义一个json文件,并让脚本从json文件中读取值


Azure自动化是否允许使用json文件?我不认为这是一种“设置类型”。如果不允许使用该功能,是否有人有其他创造性的方法来解决此问题?

没有任何东西可以阻止您使用变量类型(字符串)来存储json。UI的单行对话框不是查看数据的最佳选择,但存储数据应该不会有问题。您可以使用PowerShell的convertfrom json读取数据

workflow jsontest
{
$a = Get-automationVariable -name "jsontest"
$ba = $a | convertfrom-json
}

更好的方法可能是将json数据保存为文本文件并存储在其他位置,如blob存储,但这取决于数据更改的频率。

我同意这一建议。再补充一点,如果您选择“将文件存储在Azure Blob存储”路线,则需要将该文件下载到Azure自动化沙箱,作为runbook的一部分。内联调用此runbook可用于执行以下操作:。如果您选择“将JSON存储在自动化变量资产中”,请注意,如果您不想使用UI来设置变量应包含的JSON(因为它只包含单行视图),您也可以在runbook中调用set AutomationVariable来执行此操作。@joe感谢您提供了额外的解决方案。我采用了blob存储方法,在我看来更干净