1
votes

When I'm trying to build my USQL project in Visual Studio I'm getting this error:

Error E_STORE_USER_FILENOTFOUND: File not found or access denied: wasb://[email protected]/file.txt. Description: Unable to obtain information about this file. Resolution: Ensure the file with exact casing exists (paths are case-sensitive) and the account has read permission to the file.

Obviously, I don't have access to that file, but that's fine, because script is supposed to be executed under service account and not my personal one.

Same happens if I have assembly referenced in script which is not installed in my local ADLA.

I'm using Visual Studio 2015 Professional Update 3 and Azure Data Lake Tools for VS 2.3.0.1.

Is it possible to build USQL project without checking this external references? I just want to be sure that script syntax is fine.

2
Do you have an option to use a relative path, make sure a sample version of the file exists locally and execute locally using the local emulator to make sure the script works?wBob
@wBob we are using both blob storage and data lake store in our scripts. DLS is default storage for ADLA, so local paths works for it. But for blob storage we need to specify full path.arghtype
I have the same problem, but as soon as a script has a syntax error somewhere that pops up in the build error, and not the E_STORE_USER_FILENOTFOUND error. So that is my workaround: if the only error is FILENOTFOUND the script is OK.Peter Bons

2 Answers

1
votes

I just wanted to let you know I'm looking into this right now! Currently, @wBob's workaround is your best bet. For example, you could make a test blob storage account, add sample versions of the file, and point your full paths towards those instead.

Unfortunately, @Peter Bons workaround doesn't seem to always work. I just tested a script with a syntax error and a non-existent file reference and I only got the file not found error (tested locally).

I'm currently looking to see if a syntax check ignoring external dependencies exists and will get back to you soon!

Thanks,
Matt Basile Azure Data Lake PM

1
votes

To answer the question: There is no way to build/compile a U-SQL script without having access to the input files. The file meta data, including the size and ACLs are accessed and checked when the script is compiled, because the preparation is generating the job graph which is dependent on data sizes etc.

I suggest to file a feature request at http://aka.ms/adlfeedback to request a syntax validation option in the tooling. Please note that intellisense in the VS editor will give you some indication whether your syntax is correct without accessing the file (although it will still need access to your meta data service if you reference objects there).