Azure新手求助:如何在Azure中编写运行Python脚本连接Blob存储
嘿,Azure新手看过来!搞定Blob存储Python脚本的全指南
首先得夸夸你——能一步步创建App Service、Blob存储还完成关联,已经超棒啦!下面我就帮你理清在哪里写脚本、怎么配环境、怎么写操作Blob的代码,还有怎么运行测试~
一、到底在哪里编写Python脚本?
你说在Azure控制台没找到写脚本的地方?其实有几个超方便的途径:
- App Service高级工具(Kudu):这是最常用的工具!进入你的App Service,左侧菜单找「开发工具」→「高级工具」,点击「Go」进入Kudu界面。然后选「Debug console」→「CMD/PowerShell」,导航到
site/wwwroot目录(这是App Service运行代码的根目录),你可以直接在这里创建.py文件(用echo. > script.py命令),或者用Kudu自带的编辑器点击文件名直接编辑,也能上传本地写好的脚本。 - App Service内置编辑器(预览):在App Service左侧菜单「开发工具」里找「编辑器(预览)」,进去后就能像本地IDE一样在浏览器里直接创建、编辑Python文件,界面更友好,还带语法高亮!
- 本地编写后部署:如果习惯用VS Code/PyCharm,本地写好脚本后,用VS Code的Azure插件或者Azure CLI命令
az webapp up部署到App Service的wwwroot目录就行。
二、先搞定依赖环境!
要操作Blob存储,必须安装Azure的Blob SDK。你之前在控制台执行过pip,那可以这么做:
- 在Kudu或App Service编辑器的终端里,执行命令:
python -m pip install azure-storage-blob - 为了避免每次部署都手动装依赖,建议在
wwwroot目录下创建requirements.txt文件,把依赖写进去:
这样App Service在部署的时候会自动读取这个文件安装所有依赖。azure-storage-blob>=12.0.0
三、上手写Blob操作脚本(附示例)
因为你已经把Blob存储和App Service关联了,连接字符串会自动加到App Service的「应用程序设置」里(名字一般是AZURE_STORAGE_CONNECTION_STRING),所以脚本里直接读取环境变量就行,不用硬编码密钥!
这里给你一个简单的上传+读取Blob的示例脚本,保存成blob_operations.py:
import os from azure.storage.blob import BlobServiceClient # 从App Service应用设置中获取Blob存储连接字符串 connect_str = os.getenv("AZURE_STORAGE_CONNECTION_STRING") if not connect_str: raise ValueError("请检查App Service的应用设置中是否已添加Blob存储连接字符串!") # 初始化Blob服务客户端 blob_service_client = BlobServiceClient.from_connection_string(connect_str) # 替换成你自己创建的容器名称 CONTAINER_NAME = "your-container-name" def upload_local_file_to_blob(local_file_path, blob_name): """把本地文件上传到Blob存储""" blob_client = blob_service_client.get_blob_client(container=CONTAINER_NAME, blob=blob_name) # 打开本地文件并上传,overwrite=True表示如果Blob已存在就覆盖 with open(local_file_path, "rb") as file_data: blob_client.upload_blob(file_data, overwrite=True) print(f"✅ 文件 {local_file_path} 成功上传为Blob:{blob_name}") def read_blob_content(blob_name): """读取Blob的内容并返回""" blob_client = blob_service_client.get_blob_client(container=CONTAINER_NAME, blob=blob_name) # 下载Blob内容并转为字符串(如果是二进制文件就不用decode) content = blob_client.download_blob().readall().decode("utf-8") print(f"✅ 成功读取Blob:{blob_name}") return content # 测试代码(可以根据自己的需求修改) if __name__ == "__main__": # 示例:上传wwwroot目录下的test.txt文件到Blob,命名为uploaded_test.txt upload_local_file_to_blob("test.txt", "uploaded_test.txt") # 示例:读取刚才上传的Blob内容并打印 blob_content = read_blob_content("uploaded_test.txt") print("\nBlob内容:") print(blob_content)
注意:记得把CONTAINER_NAME替换成你自己创建的Blob容器名称哦!
四、运行和测试脚本的方法
- 在Kudu控制台运行:进入Kudu的Debug Console,导航到
wwwroot目录(脚本所在的地方),执行命令:
控制台会直接输出运行结果,能看到上传、读取是否成功。python blob_operations.py - 在App Service编辑器运行:打开编辑器后,点击顶部的「终端」按钮,打开终端窗口,同样导航到脚本目录,执行上面的命令就行。
- 检查Blob存储验证结果:运行脚本后,去你的Blob存储容器里看看,是不是多了
uploaded_test.txt,打开也能看到内容和本地的一致~
最后几个小提醒
- 确认App Service的Python版本:你设置了Python 3.4,但这个版本已经不再维护了,建议升级到3.8及以上版本(在App Service的「配置」→「常规设置」里修改),避免遇到兼容性问题。
- 检查应用设置:如果脚本报错找不到连接字符串,去App Service的「配置」→「应用程序设置」里看看,有没有
AZURE_STORAGE_CONNECTION_STRING,如果没有,手动添加(从Blob存储账户的「访问密钥」里复制连接字符串)。
内容的提问来源于stack exchange,提问作者jane1912
相关产品推荐
相关产品推荐

