背景: 我有一个与数据库一起工作的系统,我保存文件的元数据和Azure Blob存储,我保存文件。数据库和Azure Blob存储通过Web服务协同工作。
要检查系统的所有部分是否正常工作,我为Web服务创建了单元测试,以下载,上传和删除文件。测试后,数据库和Azure Blob存储保留了大量数据,我需要删除所有数据。我有一个脚本来删除数据库中的所有数据(Drop all the tables, stored procedures, triggers, constraints and all the dependencies in one sql statement)。
现在我需要编写一个sctipt(power shell)或代码(C#)来从Azure Blob存储中删除所有文件,但我不删除容器,只删除容器中的文件。
我的问题: 以下哪种方式(电源外壳或С#)最好? 如果我使用C#和任务(System.Threading.Tasks)删除文件会更快?
答案 0 :(得分:2)
问题的最佳解决方案,如果您保存容器的标题,删除它们并尝试在几秒钟内重新创建它们(如果错误发生,您需要等待并再试一次),但如果您只需要删除您可以使用它的文件:
SELECT MIN( RowNumber ) AS FirstRow, MAX( RowNumber ) AS LastRow, SUM( value ) AS Total
FROM Table
GROUP BY (( CAST( RowNumber AS INT ) - 1 ) / 8 ) -- uses integer division, discarding decimals
答案 1 :(得分:0)
我不确定,但是,我登陆这里只是为了看看我怎么能一次删除Blob容器中的所有文件。从Azure门户用户界面中,他们不提供任何功能以将所有要删除的内容全部选中。
只需使用Azure Storage Explorer,它就会选择所有要删除的功能。我为我工作。
我知道这可能与该问题的确切含义无关,但是像我这样想手动删除的人会发现这很有帮助。