我正在尝试从位于 Azure Blob Storage 的DLL创建Data Lake Analytics数据库程序集 .
根据USQL语言参考指南,这是可能的,虽然没有给出任何需要进入FROM引用的例子... https://msdn.microsoft.com/en-us/library/azure/mt763293.aspx
这是我的USQL代码段 .
CREATE ASSEMBLY IF NOT EXISTS [dbo].[PurpleFrog.DataLakeHelperFunctions]
FROM "https://RemovedActual.net/datafactorysupportingfiles/PurpleFrog.DataLakeHelperFunctions.dll";
如果我在Data Lake Storage的上下文中引用DLL,我可以成功创建程序集 . 像这样:
CREATE ASSEMBLY IF NOT EXISTS [dbo].[PurpleFrog.DataLakeHelperFunctions]
FROM "Assemblies/PurpleFrog.DataLakeHelperFunctions.dll";
这可行,可能是因为Visual Studio了解我的Data Lake本地根目录的位置等 . 但是我不希望DLL存储在这里 .
所以...
我尝试更改blob存储容器上的访问权限以允许公共读取访问 . 在本地峰会期间出现以下错误:
E_CSC_USER_CANNOTREADASSEMBLY:无法创建程序集'dbo . [PurpleFrog.DataLakeHelperFunctions]',因为无法读取文件'https://RemovedActual.net/datafactorysupportingfiles/PurpleFrog.DataLakeHelperFunctions.dll' .
我还尝试为该文件创建共享访问签名URI . 在本地峰会期间出现此错误:
E_CSC_USER_INVALIDFILENAME:文件名无效:'https://RemovedActual.net/datafactorysupportingfiles/PurpleFrog.DataLakeHelperFunctions.dll?st=2016-11-28T09%3A52%3A00Z&se=2016-11-29T09%3A52%3A00Z&sp=r&sv=2015- 12-11&SR = C&SIG = RemovedActual” . 路径中的非法字符 .
我不知道我还能在这里做什么来引用DLL . 语言指南错了吗?这有可能吗?我错过了什么?
非常感谢您的时间和帮助 .
1 回答
U-SQL目前只能理解
wasb
和adl
URI方案,而不是http(s)
.你能使用指向你的blob存储容器和dll的
wasb
方案吗?例如 . ,
请注意,您必须在您的ADL帐户中注册blob商店帐户(您可以通过门户网站注册) .