Как добавить свойство в строку хранения таблицы Azure с помощью модуля Azure Powershell - PullRequest
1 голос
/ 11 июля 2019

Мне нужно добавить новое свойство к объектам хранения таблиц Azure при обновлении записей с помощью Модуль Azure PowerShell . Я надеюсь добиться этого с помощью обновления вместо удаления / добавления нового объекта.

Сценарий, который у меня есть в настоящее время, тесно следует примеру Microsoft по обновлению сущностей и отлично подходит для обновления существующих свойств. Ниже приведена модифицированная версия их примера, в которой я пытаюсь добавить новое свойство "псевдоним".

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

Является ли удаление / создание нового объекта единственным способом добавления нового свойства?

1 Ответ

2 голосов
/ 11 июля 2019

В своем сообщении в блоге он говорит, что он преобразует записи строк в PSCustomObjects, поэтому имеет смысл рассматривать его как таковое и использовать Add-Member для добавления нового свойства. Попробуйте изменить

$user.nickname= "Jess"

до

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

или короче

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