2016-11-28 62 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視覺工作室支持換總成創作,從 –