当我尝试在Visual Studio中构建我的USQL项目时,我收到此错误:
错误E_STORE_USER_FILENOTFOUND:找不到文件或拒绝访问: wasb://xxxx@yyyy.blob.core.windows.net/file.txt。描述:无法 获取有关此文件的信息。解决方案:确保文件 确切的套管存在(路径区分大小写)和帐户 已获得该文件的读取权限。
显然,我无法访问该文件,但这没关系,因为脚本应该在服务帐户下执行而不是我个人执行。
如果我在脚本中引用了未在我的本地ADLA中安装的程序集,则会发生相同的情况。
我正在使用Visual Studio 2015 Professional Update 3和Azure Data Lake Lake for VS 2.3.0.1。
是否可以在不检查此外部引用的情况下构建USQL项目?我只是想确保脚本语法没问题。
答案 0 :(得分:1)
我只是想让你知道我现在正在研究这个问题!目前,@ wBob的解决方案是您最好的选择。例如,您可以创建测试blob存储帐户,添加文件的示例版本,然后指向完整路径。
不幸的是,@ Peter Bons的解决方法似乎并不总能奏效。我刚刚测试了一个带有语法错误和不存在的文件引用的脚本,我只得到了找不到文件的错误(在本地测试)。
我目前正在查看是否存在忽略外部依赖关系的语法检查,并会尽快回复您!
谢谢,
马特巴西尔
Azure Data Lake PM
答案 1 :(得分:1)
回答这个问题:没有访问输入文件就无法构建/编译U-SQL脚本。编译脚本时会访问和检查文件元数据,包括大小和ACL,因为准备工作生成的工作图依赖于数据大小等。
我建议在http://aka.ms/adlfeedback提交功能请求,以便在工具中请求语法验证选项。请注意,VS编辑器中的intellisense会在不访问文件的情况下显示您的语法是否正确(尽管如果您在那里引用对象,它仍然需要访问您的元数据服务)。