首页 文章

在Azure Blob存储中从DLL创建USQL程序集

提问于
浏览
0

我正在尝试从位于 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 回答

  • 2

    U-SQL目前只能理解 wasbadl URI方案,而不是 http(s) .

    你能使用指向你的blob存储容器和dll的 wasb 方案吗?

    例如 . ,

    CREATE ASSEMBLY IF NOT EXISTS [dbo].[PurpleFrog.DataLakeHelperFunctions] 
    FROM "wasb://container@account/helperfunctions/DataLakeHelperFunctions.dll";
    

    请注意,您必须在您的ADL帐户中注册blob商店帐户(您可以通过门户网站注册) .

相关问题