Azure调用API报错:Retry policy did not allow for a retry,求排查
排查Azure Blob存储连接失败问题
从你贴出的错误日志来看,核心问题很明确——你的程序没法解析Azure Blob存储账户的域名dapsjj.blob.core.windows.net,导致连不上服务器。我给你梳理几个排查方向,你一步步来试试:
先核对存储账户名称是否正确
Azure存储账户的名称是区分大小写且只能包含小写字母和数字的,你代码里用的dapsjj得和Azure门户里创建的存储账户名称完全一致,别打错字母或者多了少了字符。测试域名能不能正常解析
打开本地的命令提示符(Windows)或者终端(Mac/Linux),执行nslookup dapsjj.blob.core.windows.net,看看能不能返回对应的IP地址:- 如果提示“找不到主机”,那说明你的网络环境没法解析Azure的域名,大概率是本地DNS配置有问题,或者公司/家里的防火墙、代理拦截了DNS请求。
- 如果能正常拿到IP,那问题可能出在存储账户的网络规则或者代码的网络配置上。
检查存储账户的网络访问权限
登录Azure门户找到你的存储账户,进「网络」设置看看:- 如果选的是“允许从选定的网络访问”,得确认你的本地IP地址在允许列表里;或者暂时改成“允许从所有网络访问”试试,排除是网络规则卡了连接。
排查本地网络环境
如果你在用代理服务器,得确保Python代码配置了正确的代理参数,不然程序没法走代理出去访问Azure;另外也可以暂时关掉本地的防火墙、杀毒软件,看看是不是它们拦了你的请求。确认存储账户状态正常
去Azure门户的存储账户「概述」页看看,账户状态是不是“正常”,别不小心把账户暂停或者删除了。
另外,你可以先写个极简的测试代码,排除其他逻辑的干扰:
from azure.storage.blob import BlobServiceClient try: # 把这里换成你的存储账户连接字符串 blob_service_client = BlobServiceClient.from_connection_string("YOUR_CONNECTION_STRING") # 尝试列出容器,验证连接 containers = list(blob_service_client.list_containers()) print("连接成功啦!") except Exception as e: print(f"还是连不上: {str(e)}")
内容的提问来源于stack exchange,提问作者user9270170
相关产品推荐
相关产品推荐

