azure - 使用 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
我检查了任何变量是否为空或未定义,但事实并非如此。知道这里发生了什么。
解决方案
请在脚本中使用表对象来代替表名。
您可以通过这种方式获取表格对象。
$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 存储表的详细信息,请参阅此博客。
推荐阅读
- windows - std::thread 增加 DLL 引用计数?如何?
- apache - 无法在 CentOS 7 上的 Apache 中更改域名
- mysql - sqlalchemy 连接丢失的有限循环中的 MYSQL 查询
- reactjs - 删除 redux 状态的项目在 Firefox 中有效,但在 Chrome 中无效
- javascript - 如何搜索 API
- c# - WCF / MSMQ / 权限 / Windows 10 & VS2019
- python - 试图制作一个简单的 python web 服务器并且它没有启动
- python - 在 rPi3B+ 上使用 100% CPU 的简单 python 脚本
- powerbi - 小计不反映基础行计算的总和
- r - 获取从 R 调用的 Matlab 中脚本的输出