我正在尝试访问 Azure 容器以使用我的 python 代码下载一些 blob。 我的代码在 Windows 上运行良好,但是当我在 debian VM 上执行它时,我收到此错误消息:
<azure.storage.blob._container_client.ContainerClient object at 0x7f0c51cafd10>
Killed
admin_bbt@vm-bbt-cegidToAZ:/lsbCodePythonCegidToAZ/fuzeo_bbt_vmLinux_csvToAZ$
我尝试访问的 blob 不是我的,但我确实有 sas key 。 我的代码在这一行之后失败:
container = ContainerClient.from_container_url(sas_url)
我尝试做的事情:
- 将我的虚拟机移至其他位置
- 在我的虚拟机上打开端口 445
- 安装 cifs-utils
最佳答案
通常,当我们的虚拟机未启用虚拟机上 Azure 资源的托管标识时,就会出现此问题。这个 MS Docs 帮助我成功启用它( MSDocs1 , MSDocs2 )
我们需要检查网络访问规则如下
转到您想要保护的存储帐户。
选择名为网络的设置菜单。
要默认拒绝访问,请选择允许来自选定网络的访问。要允许来自所有网络的流量,请选择允许来自所有网络的访问。
选择保存以应用更改。
此外,随着这些设置更改,需要确保用户可以访问 Blob 存储,并且可能需要添加 vnet 集成 检查这个MS Docs了解 Azure 存储防火墙规则。
我们可以使用MSI使用虚拟机进行身份验证
关于python - 连接终止了 Azure 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70158606/