2016-11-28 59 views
0

我试图从位于Azure Blob存储中的DLL创建数据湖分析数据库程序集。在Azure Blob存储中从DLL创建USQL组件

按照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"; 

如果我参考DLL是在Data Lake Storage的上下文中,我可以成功创建程序集。就像这样:

CREATE ASSEMBLY IF NOT EXISTS [dbo].[PurpleFrog.DataLakeHelperFunctions] 
FROM "Assemblies/PurpleFrog.DataLakeHelperFunctions.dll"; 

这个工程,可能是因为Visual Studio的理解在我的数据湖当地的根目录等,但我不想在这里存放的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当前仅了解和adl URI方案,而不是http(s)

您可以使用方案指向您的BLOB存储容器和DLL吗?

例如,

CREATE ASSEMBLY IF NOT EXISTS [dbo].[PurpleFrog.DataLakeHelperFunctions] 
FROM "wasb://[email protected]/helperfunctions/DataLakeHelperFunctions.dll"; 

注意,您必须注册团块存储帐户与ADL帐户(您可以通过门户网站这样做)。

+0

谢谢迈克。这是有效的,但前提是我从Visual Studio升级到Azure。在本地创建程序集不适用于wasb URI。对于下一版本的VS工具,可能有:-) –

+0

正确,本地运行不提供对云资源的访问。 http://aka.ms/adlfeedback将是一个很好的地方来请求这项功能。 –

+0

完成。谢谢迈克。 https://feedback.azure。COM /论坛/ 327234数据湖/建议/ 17282363视觉工作室支持换总成创作,从 –