我需要通过Azure PowerShell module更新记录时向Azure表存储实体添加新属性。我希望通过更新而不是删除/添加新实体来实现这一目标。
我当前拥有的脚本紧跟Microsoft updating entities example,非常适合更新现有属性。下面是他们的示例的修改版本,其中我尝试添加新的“昵称”属性。
$user = Get-AzTableRow -table $cloudTable -customFilter $filter
# Change the entity.
$user.username = "Jessie2"
# Attempting to add a new property
$user.nickname= "Jess"
# To commit the change, pipe the updated record into the update cmdlet.
$user | Update-AzTableRow -table $cloudTable
您可能会期望PowerShell抛出错误,因为该行没有现有的昵称属性:
Exception setting "nickname": "The property 'nickname' cannot be found on this object. Verify that the property exists and
can be set.
删除/创建新实体是添加新属性的唯一方法吗?
答案 0 :(得分:2)
他在他的博客文章中说,他将行条目转换为PSCustomObjects,因此将其像这样对待并使用Add-Member
添加新属性是很有意义的。尝试更改
$user.nickname= "Jess"
到
Add-Member -InputObject $user -NotePropertyName 'nickname' -NotePropertyValue 'Jess'
或更短的
$user|add-member 'nickname' 'Jess'