C# Azure容器中所有文件夹的blob总数
我有一个蓝色的容器。 里面有5000多个文件夹。 每个文件夹都有近百万个以上的blob 存储资源管理器/文件夹统计信息花费的时间太长 我希望以编程方式(c#)计算每个文件夹中的所有blob。 这是否可行? 请导游。C# Azure容器中所有文件夹的blob总数,c#,azure,azure-functions,C#,Azure,Azure Functions,我有一个蓝色的容器。 里面有5000多个文件夹。 每个文件夹都有近百万个以上的blob 存储资源管理器/文件夹统计信息花费的时间太长 我希望以编程方式(c#)计算每个文件夹中的所有blob。 这是否可行? 请导游。 谢谢。在Powershell下面,我曾经用特定的时间戳检查blob中的所有文件,并生成存储空间的excel报告。 类似的概念可以应用于所有容器的外部循环 ## Declaring the variables $number_of_days_threshold = 0 $cur
谢谢。在Powershell下面,我曾经用特定的时间戳检查blob中的所有文件,并生成存储空间的excel报告。 类似的概念可以应用于所有容器的外部循环
## Declaring the variables
$number_of_days_threshold = 0
$current_date = get-date
$date_before_blobs = $current_date.AddDays(-$number_of_days_threshold)
## Storage account details
$storage_account_name = XXXXXXXXXXXXXXXX
$storage_account_key = "XXXXXXXXXXXXXXXXXXXXXXXXXX"
$container = "XXXXXXXXXXXXXXXXXXX"
## Creating Storage context for Source, destination and log storage accounts
$context = New-AzureStorageContext -StorageAccountName $storage_account_name -StorageAccountKey $storage_account_key
$blob_list = Get-AzureStorageBlob -Context $context -Container $container
$output = @()
## Iterate through each blob
foreach($blob_iterator in $blob_list){
$blob_date = [datetime]$blob_iterator.LastModified.UtcDateTime
if($blob_date -le $date_before_blobs) {
# $blob_iterator | %{$_.ICloudBlob.BreakLease()}
# Remove-AzureStorageBlob -Container $container -Blob $blob_iterator.Name -Context $context
$customObject = new-object PSObject -property @{
"Name" = $blob_iterator.Name
"LastModified" = $blob_iterator.LastModified
"Length" = ($blob_iterator.Length)
}
$output += $customObject
}
}
$output | Select `
Name,
LastModified,
Length | export-csv -Path 'F:XXXXXXXXXXXXXXXXX.csv' -NoTypeInformation
我不知道所提供的解决方案的性能有多好,但我通常喜欢使用data factory来处理这些类型的情况,在这些情况下,您需要一些非常长时间运行且涉及大量数据