如何使用 Azure Powershell 模块将 属性 添加到 Azure table 存储行

How to add a property to Azure table storage row with Azure Powershell module

我需要在通过 Azure PowerShell module 更新记录时向 Azure table 添加一个新的 属性 存储实体。我希望通过更新而不是删除/添加新实体来实现这一点。

我目前使用的脚本与 Microsoft 的 updating entities example 非常相似,并且非常适合更新现有属性。下面是他们示例的修改版本,我尝试添加一个新的 "nickname" 属性。

$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.

删除/创建新实体是添加新实体的唯一方法吗属性?

他在他的博客 post 中说他将行条目转换为 PSCustomObjects,因此像这样处理它并使用 Add-Member 添加新的 属性 是有意义的。尝试更改

$user.nickname= "Jess"

Add-Member -InputObject $user -NotePropertyName 'nickname' -NotePropertyValue 'Jess'

或较短的

$user|add-member 'nickname' 'Jess'