PowerShell:使用 PS 从 Azure Table 存储中获取实体(行)以填充另一个 table

PowerShell: Using PS to get entities (row) from an Azure Table Storage to populate another table

案例: 我在 Azure Table 存储中有 3 个表(Table1、Table2、Table3)。

Table1 中的实体(行)在 ADO 发布管道运行后填充。 Table2 个实体(10 行)是需要分配给在 Table1 中填充的每个实体的所有 rules/Azure 策略,以及每个 [=18] 的所有 10 条规则=]1 个条目必须填充到 Table3

下面是从一个 Table 中获取行并插入到 Azure Table 存储中的另一个行的示例。您可以根据需要添加更多 table 来更改它:

获取 azure 的上下文 Table 存储:

New-AzStorageContext -StorageAccountName "<yourstorageacc>" -StorageAccountKey "<youraccountkey>"

获取第一个table的引用:

$cloudTable = (Get-AzStorageTable –Name "table1" –Context $ctx).CloudTable

获取另一个table中需要插入的记录。相应地更改过滤器:

[string]$filter = `
    [Microsoft.Azure.Cosmos.Table.TableQuery]::GenerateFilterCondition("username",`
    [Microsoft.Azure.Cosmos.Table.QueryComparisons]::Equal,"Jessie")
$user = Get-AzTableRow `
    -table $cloudTable `
    -customFilter $filter

获取第二个引用table:

$cloudTable2 = (Get-AzStorageTable –Name "table2" –Context $ctx).CloudTable

使用我们检索到的相同 $user 对象将记录插入第二个 table。

Add-AzTableRow `
    -table $cloudTable2 `
    -partitionKey $partitionKey1 `
    -rowKey ("CA") -property @{"username"=$user.username;"userid"=$user.userid}

您可以根据需要insert/update。

参考文章:Perform Azure Table storage operations with Azure PowerShell