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

Create USQL Assembly from DLL in Azure Blob Storage

我正在尝试从位于 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 知道我的数据湖本地根目录在哪里等。但是我不想将 DLL 存储在这里。

所以...

我已尝试更改我的 blob 存储容器的访问权限以允许 public 读取访问权限。在本地峰会期间出现以下错误:

E_CSC_USER_CANNOTREADASSEMBLY: Cannot create assembly 'dbo.[PurpleFrog.DataLakeHelperFunctions]' because file 'https://RemovedActual.net/datafactorysupportingfiles/PurpleFrog.DataLakeHelperFunctions.dll' could not be read.

我还尝试为该文件创建共享访问签名 URI。在本地峰会期间出现此错误:

E_CSC_USER_INVALIDFILENAME: Invalid file name: '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'. Illegal characters in path.

我不确定我还能在这里做什么来引用 DLL。语言指南错了吗?这真的可能吗?我错过了什么?

非常感谢您的时间和帮助。

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 存储帐户(您可以通过门户注册)。