我们有一个非常具体的文件,每周一次,在1小时的窗口。我们一直在使用Azure SFTP作为一个经济高效的解决方案,今年早些时候他们改变了计费,所以我们不得不每周手动打开/关闭它,以避免24/7运行的240美元以上的成本。我们希望将此操作自动化,以便每周启用和禁用一次。
我一直在试图找出一种方法来自动启用/禁用blob功能,但还没有能够找到任何方法来做到这一点与权力自动化或azure自动化。我不能是唯一一个想这么做的人...可以在Azure自动化中运行Azure CLI PowerShell吗?我在微软文档中找不到明确的答案。有没有人找到一种方法来做到这一点?
理想情况下,我可以在azure automation powershell runbook中运行az命令。
az storage account update -g $resourceGroupName -n $stoAccountName --enable-sftp=true
字符串
一个小时后运行false,但似乎没有执行。
Jorge写了一篇关于SFTP的CLI的优秀文章,其中包含所有命令。
https://www.jorgebernhardt.com/azure-storage-blobs-enable-sftp-support/
不知道从这里去哪里。
2条答案
按热度按时间fcwjkofz1#
可以,您可以在PowerShell Runbook中使用Azure CLI命令。
创建Azure自动化帐户。
的数据
创建一个runbook并给予命令来启用sftp,然后在一小时后禁用。以便可以每周安排一次此Runbook。
的
命令:
字符串
链接计划表以安排时间。
的
给予所需时间
和调度
参考:Manage schedules in Azure Automation | Microsoft Learn
bjg7j2ky2#
我试着按照@kavyaS的答案,但也遇到了与OP相同的“socket operation encountered a dead network”错误。
我通过允许我的托管身份访问其他资源来获得更多:
字符串
我将
Connect-AzAccount
更改为Connect-AzAccount -Identity
并成功,但az
命令失败。我用Set-AzStorageAccount -EnableSftp $true
替换了它们,但由于我的Powershell版本是5.1,所以失败了。我删除了我的Runbook,在7. 2版本中做了一个新的,并让它工作起来。我是这样做的:
型
然后做了一个类似的关闭SFTP的动作。