python-3.x - 如何使用 python 将 blob 从 Azure 存储复制到 linux 虚拟机?
问题描述
我是 Azure 云服务的新手,因为我不知道如何使用 python 将我的 blob 从 Azure 存储帐户复制到 Linux 虚拟机 (vm)。在我的应用程序中,我将上传的文件存储到 Azure 存储,并且每当上传新文件时我也触发了 Azure 功能,现在我需要将该文件从 Azure 功能复制到 Azure VM。任何帮助都感激不尽。
解决方案
下面是专门用于 Python Azure Functions 的代码片段。它将文件从 Blob 存储读取到内存中,然后使用 SSH(特别是基于 SSH 的 SFTP)将其传输到远程位置。它使用一个名为paramiko
SSH 的库。
import logging
import paramiko
import azure.functions as func
def main(myblob: func.InputStream):
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname='YOUR_HOST_NAME', username='USERNAME_FROM_APP_SETTINGS', password='PASSWORD_FROM_APP_SETTINGS')
logging.info(f"Python blob trigger function processed blob \n"
f"Name: {myblob.name}\n"
f"Blob Size: {myblob.length} bytes")
with open('LOCAL_FILE_LOCATION', 'wb') as f:
f.write(myblob.read())
ftp_client=ssh_client.open_sftp()
ftp_client.put('LOCAL_FILE_LOCATION','REMOTE_FILE_LOCATION') # same file location written to above
ftp_client.close()
推荐阅读
- html - 如何将元素的位置固定到页面?
- flutter - Flutter,防止输入时间后键盘显示
- c# - 希望将控制台应用程序转换为 asap.net 网络表单
- javascript - 如何将 React 状态逻辑抽象为自定义钩子?
- acumatica - Acumatica:在 SQL 中重命名表而不破坏屏幕等的过程
- python - 来自计算机科学界的自动解密问题 (Python)
- javascript - 为什么我的three.js 代码没有在我的实时浏览器中呈现?
- jquery - 使用 jQuery 将 h1 包裹在图像标签上不起作用
- javascript - 在函数上创建动态方法
- python - 如何根据熊猫列的唯一值应用 az 转换?