我需要構建一些功能,允許用戶選擇.csv文件並通過天藍色的Web應用程序將其上傳(數據)到我的數據庫。由於沒有可用的文件系統,我如何將.csv數據放入sql服務器數據庫中的blob中?那裏有任何例子嗎?從.csv文件導入到azure數據庫的功能
回答
由於theres沒有可用的文件系統,我如何獲取.csv數據到我的sql服務器數據庫的blob?
如果我理解正確的話,你可以在上傳CSV文件到一個臨時文件夾保存在您的網頁內容,或使用File System from Azure Web App(例如d:\home
或d:\local
)臨時存儲csv文件。然後你可以利用SqlBulkCopy和這個CSV Reader庫來一個簡單的方法將csv數據導入到sql表中。這裏是代碼片段,你可以參考一下吧:
string connectionString = "Data Source=tcp:{server-name}.database.windows.net,1433;Initial Catalog={db-name};User ID={user-name};Password={pwd}";
string filename = "{the-path-of-your-csv-file-in-webapp}";
using (var conn = new SqlConnection(connectionString))
{
conn.Open();
var transaction = conn.BeginTransaction();
try
{
using (StreamReader file = new StreamReader(filename))
{
CsvReader csv = new CsvReader(file, true, ',');
SqlBulkCopy copy = new SqlBulkCopy(conn, SqlBulkCopyOptions.KeepIdentity, transaction);
copy.DestinationTableName = "TableForBulkData";
copy.WriteToServer(csv);
transaction.Commit();
}
}
catch (Exception ex)
{
transaction.Rollback();
}
}
結果
UPDATE
由於Azure Web App sandbox提及文件系統限制/注意事項:
每個Azure Web應用程序都有一個由Azure存儲存儲/支持的主目錄。這個網絡共享是應用程序存儲其內容的地方。該目錄可用於具有讀/寫訪問權限的沙箱。
爲了方便我們的客戶,沙箱在內核模式下實現了動態符號鏈接,該鏈接將d:\ home映射到客戶主目錄。這樣做是爲了消除客戶在訪問網站時繼續參考他們自己的網絡共享路徑的需要。 無論站點在哪裏運行,或者在虛擬機上運行了多少個站點,都可以使用d:\ home訪問其主目錄。
你可以利用KUDU一個簡單的方法來訪問您的Web應用程序的內容如下:
如果您需要經常從的預置型文件系統上載.csv文件到Azure中,你可以考慮使用Azure數據工廠(ADF)。 ADF是一個基於雲的全面管理的數據集成服務,能夠從不同格式的30個不同數據源採集數據,並能夠存入任何Azure數據存儲服務(Blob,SQL DB,SQL DW,ADLS,文檔數據庫,Azure搜索)。以下是如何配置ADF管道以將文件從本地上傳到Azure Blob的示例:https://docs.microsoft.com/en-us/azure/data-factory/data-factory-onprem-file-system-connector#json-examples-for-copying-data-to-and-from-file-system。我們強烈建議使用複製嚮導,這是一個基於GUI的創作嚮導,而不是使用JSON。請參閱本教程以獲得使用複製數據嚮導創建管道的快速演練:https://docs.microsoft.com/en-us/azure/data-factory/data-factory-copy-data-wizard-tutorial
- 1. 導入csv文件到oracle數據庫
- 2. php導入csv文件到數據庫
- 3. 導入CSV文件導入數據庫
- 4. 如何從csv文件導入數據到數據庫中?
- 5. 如何從CSV文件導入數據到數據庫?
- 6. 從csv文件導入到sqlite3數據庫的多個記錄
- 7. 如何將SQL數據庫從文件導入到Azure
- 8. 無法從csv文件導入多個行到sqlite數據庫
- 9. 如何從Linux/HDFS導入CSV文件到mongo數據庫
- 10. 從rails導入csv文件到oracle數據庫
- 11. 從CSV文件導入到mysql數據庫錯誤
- 12. 將大Csv文件導入數據庫
- 13. 將CSV文件導入MySQL數據庫
- 14. csv文件導入數據庫,php
- 15. 增強csv文件數據庫導入
- 16. 從Angular的CSV文件導入數據
- 17. 數據導入.csv文件到CouchDB的
- 18. 加載CSV文件導入到MYSQL數據庫不能導入行
- 19. 如何將數據從CSV文件導入數據庫
- 20. 導入CSV從混合數據文件導入到MATLAB
- 21. 將數據從txt文件導入到SQL-Server表的功能
- 22. Azure SQL數據庫 - 來自azure sql的數據文件導出(.csv)
- 23. 從django admin導入csv文件數據
- 24. 從CSV文件導入數據
- 25. 如何從文件導入csv數據
- 26. 從.csv文件導入特定數據
- 27. 如何從csv文件導入數據
- 28. 從大型CSV文件導入數據
- 29. Flask-Python從csv文件導入數據
- 30. 從Windows中的.csv文件導入數據到mongodb數據庫中
即時通訊相當新穎,我不認爲有一個我們可以訪問的文件系統,我認爲這只是blob和表存儲。這是在生產環境中可用嗎? – proteus
是否有任何「最佳實踐」可用於將.csv文件中的數據上傳到Azure? – proteus
Web應用程序提供的文件系統可以在生產環境中使用。此外,如果csv文件很大,或者將csv導入db表的過程需要花費很多時間,我認爲您可以利用WebJob和Azure存儲來優化此方案。 –