首页 > 解决方案 > 使用 Add-StorageTableRow 在 azure 表中添加一行

问题描述

我正在编写一个 powershell 脚本以在未运行的 azure 表中添加一行。下面是代码和我得到的错误。

代码:

  function add-table-entity()
 {
$entity = '[{"AD_Domain":"xyz.onmicrosoft.com","osVersion":"Windows 7","status":"OK"}]'

foreach ($ent in ($entity | ConvertFrom-Json) )
 {

    Add-StorageTableRow -table $tableName -partitionKey $partitionKey -rowKey "$rowkey" -property @{"AD_Domain"=$ent.AD_Domain}

 }

}

错误:

 You cannot call a method on a null-valued expression.
At C:\Program Files\WindowsPowerShell\Modules\AzureRmStorageTable\1.0.0.23\AzureRmStorageTableCoreHelper.psm1:191 char:11

我检查了任何变量是否为空或未定义,但事实并非如此。知道这里发生了什么。

标签: azureazure-table-storageazure-powershell

解决方案


请在脚本中使用表对象来代替表名。

您可以通过这种方式获取表格对象。

$storageTable = Get-AzureStorageTable –Name $tableName –Context $ctx 

请尝试使用以下代码对其进行测试。

function add-table-entity()
{
$entity = '[{"AD_Domain":"xyz.onmicrosoft.com","osVersion":"Windows 7","status":"OK"}]'

    foreach ($ent in ($entity | ConvertFrom-Json) )
    {

        Add-StorageTableRow -table $storageTable -partitionKey $partitionKey -rowKey "$rowkey" -property @{"AD_Domain"=$ent.AD_Domain}

    }
 }  

测试结果:

在此处输入图像描述

有关如何从 PowerShell 使用 Azure 存储表的详细信息,请参阅此博客


推荐阅读