将 table 部署到 table 存储的最佳方法

Best approach to deploy tables into table storage

你能告诉我吗,什么是最好的 table 存储部署方法,因为我的开发团队要求他们有很多 table,每个 table有成千上万的 entries.Hence,他们要我咨询任何 Microsoft 团队或博客人员,以检查执行 table 存储的最佳方法 deployment.Do 你知道我们如何按照脚本进行操作每次都会耗尽和插入数千个条目。

我们是否有任何增量方法,比如它会首先检查所有 tables 条目,如果存在,那么它应该只附加新添加的条目,这些条目正在由开发团队添加到 csv 文件中只是我们需要更新到 table storage.that 的 it.this 是一个 approach.Do 你有什么最好的 approach.Please 请帮助我。

InsertOrReplace(ITableEntity)方法在TableBatchOperationClass中可以和ExecuteBatch进行批量操作方法,用这个代码试试:

         param(
                 [object[]]$fileObj
                )

            $storageAccountName = "XXX"

            $tableName="XXX"

            # Get the storage key for the storage account
            $StorageAccountKey = "XXX"

            # Get a storage context
            $ctx = New-AzureStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey

            foreach($fo in $fileObj){
             Write-Host $fo.filepath
             $csv = Import-CSV $fo.filepath
              $cArray=$fo.Cols.split(",")
        $table = Get-AzureStorageTable -Name $fo.tableName -Context $ctx -ErrorAction Ignore
              [Microsoft.WindowsAzure.Storage.Table.TableBatchOperation]$batchOperation = New-Object -TypeName Microsoft.WindowsAzure.Storage.Table.TableBatchOperation

if($table)
{
Write-Host "table not null"
}
else
{
Write-Host "table is null"
}
if($table.CloudTable)
{
Write-Host "CloudTable not null"
}
else
{
Write-Host "CloudTable is null"
}

foreach($line in $csv)
                {

                Write-Host "$($line.partitionkey), $($line.rowKey)"
                $entity = New-Object -TypeName Microsoft.WindowsAzure.Storage.Table.DynamicTableEntity -ArgumentList $line.partitionkey, $line.rowKey 
                    foreach($c in $cArray){
                 Write-Host "$c,$($line.$c)"
                    $entity.Properties.Add($c,$line.$c)
             $batchOperation.Insert($entity)

                    }       
             }
if($batchOperation)
{
Write-Host "batchOperation not null"
}
else
{
Write-Host "batchOperation is null"
}
    $table.CloudTable.ExecuteBatch($batchOperation)
            }