Visual Studio 2015部署Azure Worker Role时存储账户密钥找不到问题咨询
我来帮你梳理下这个错误的常见原因和对应的排查方向,你可以逐个验证:
当前VS连接的订阅与存储账户所在订阅不匹配
很多开发者会有多个Azure订阅,如果你在VS里选择的部署订阅和ordastorage存储账户所在的订阅不是同一个,自然找不到对应的密钥。你可以在Visual Studio的“服务器资源管理器”里展开Azure节点,检查当前选中的订阅下有没有这个存储账户;或者先去Azure门户确认ordastorage属于哪个订阅,再回到VS切换到对应订阅。当前Azure账号对存储账户没有读取密钥的权限
即使订阅匹配,如果你的登录账号没有Storage Account Key Operator Service Role或类似能读取存储账户密钥的权限,VS也无法自动获取密钥。你可以登录Azure门户,找到ordastorage存储账户,进入“访问控制(IAM)”页面,检查当前账号的权限配置,必要时添加对应的权限。存储账户名称存在拼写错误
仔细核对下配置里的存储账户名是不是ordastorage——Azure存储账户名是全局唯一、全小写且不能包含特殊字符的,哪怕是大小写错误或者少打了一个字符,都会导致找不到对应的账户。你可以检查Worker Role的ServiceConfiguration.cscfg或ServiceDefinition.csdef文件里Diagnostics相关配置的账户名。VS本地的订阅缓存过期
Visual Studio会缓存订阅的资源信息,如果缓存没有及时更新,可能会出现明明门户里有存储账户,但VS里看不到的情况。你可以在VS的服务器资源管理器中,右键点击Azure节点选择“刷新”,或者在“账户设置”里重新登录Azure账号,刷新订阅数据。Diagnostics扩展的配置关联有误
有时候Worker Role的Diagnostics扩展配置没有正确关联到存储账户,比如配置里指定的存储账户ID或者订阅ID和实际不符。你可以打开项目的Diagnostics配置界面,重新选择ordastorage存储账户,确保配置信息正确。
内容的提问来源于stack exchange,提问作者Rajeshkumar Kandhasamy

