PowerShell批量插入Azure Table Storage的AzureTableEntity同类模块咨询
可替代AzureTableEntity的PowerShell批量插入Azure Table Storage方案
目前有多个稳定可用的替代模块/方案,优先推荐微软官方维护的版本,兼容性和可靠性更有保障:
1. Az.Table(官方首选方案)
这是Azure官方Az PowerShell生态下的原生表存储操作模块,支持跨平台(Windows/macOS/Linux)运行,兼容PowerShell 5.1及以上所有主流版本,原生支持批量插入操作。
使用规则提示:单次批量最多支持100条实体,且所有实体必须属于同一个分区键,单批次总数据量不能超过4MB
批量插入示例代码:
# 首次使用先安装模块 Install-Module -Name Az.Table -Force -AllowClobber -Scope CurrentUser # 连接存储账户获取上下文 Connect-AzAccount $storageAccount = Get-AzStorageAccount -ResourceGroupName "<你的资源组名称>" -Name "<你的存储账户名称>" $tableCtx = $storageAccount.Context # 获取目标表实例 $targetTable = Get-AzStorageTable -Name "<你的表名称>" -Context $tableCtx $tableClient = $targetTable.CloudTable # 构造批量操作 $batchOp = New-Object Microsoft.Azure.Cosmos.Table.TableBatchOperation # 循环添加待插入实体,示例为插入100条测试数据 1..100 | ForEach-Object { $entity = New-Object Microsoft.Azure.Cosmos.Table.DynamicTableEntity("<公共分区键值>", "rowKey_$_") $entity.Properties.Add("field1", "testValue_$_") $entity.Properties.Add("field2", $_) $batchOp.Insert($entity) } # 执行批量插入 $tableClient.ExecuteBatch($batchOp)
2. 直接调用Azure.Data.Tables .NET SDK
如果你不想额外安装PowerShell模块,也可以直接在PowerShell中加载官方的Azure.Data.Tables .NET SDK实现批量插入,灵活性更高,适合自定义程度高的复杂场景。
示例代码片段:
# 先通过Nuget下载Azure.Data.Tables的dll包后加载 Add-Type -Path "<本地路径>/Azure.Data.Tables.dll" # 初始化表客户端 $tableClient = [Azure.Data.Tables.TableClient]::new("<你的存储账户连接字符串>", "<你的表名称>") # 构造批量事务 $batchActions = New-Object System.Collections.Generic.List[Azure.Data.Tables.Models.TableTransactionAction] 1..100 | ForEach-Object { $entity = @{ PartitionKey = "<公共分区键值>" RowKey = "rowKey_$_" field1 = "testValue_$_" field2 = $_ } $batchActions.Add([Azure.Data.Tables.Models.TableTransactionAction]::new([Azure.Data.Tables.Models.TableTransactionActionType]::Add, $entity)) } # 提交批量操作 $tableClient.SubmitTransaction($batchActions)
3. AzureRmStorageTable(老旧兼容方案,不推荐新环境使用)
这是旧版Azure Resource Manager套件下的表存储模块,仅兼容Windows平台的PowerShell 5.1环境,已经停止维护更新,仅适合需要兼容旧有脚本的场景使用。
内容的提问来源于stack exchange,提问作者Gudrun
相关产品推荐
相关产品推荐

