无法使用带引号的 Update-AzTableRow 进行更新

not able to update using Update-AzTableRow with quotes

我有以下 powershell 脚本来更新 table 存储中的值:

    [string]$filter = `
    [Microsoft.Azure.Cosmos.Table.TableQuery]::GenerateFilterCondition("Query",`
    [Microsoft.Azure.Cosmos.Table.QueryComparisons]::Equal,"(Type = 'FTE')")
    
    $user = Get-AzTableRow `
    -table $cloudTable `
    -customFilter $filter

    # Change the entity.
    $user.Query = "[{"filter":"(Type = 'FTE')"}]" // I need to include all these double quotes, single quotes

    $user | Update-AzTableRow -table $cloudTable

我看到这个错误:表达式或语句中出现意外标记 'filter":"'。我该如何解决?

顺便说一句:如果手边的行不是,则不需要明确的行继续(通过行尾的`)在句法上是一个完整的语句。换句话说:在您的代码中,只有 Get-AzTableRow 调用需要它。

您的主要问题是 您正试图嵌入 " 个字符。在 "..." 字符串 中没有转义 ,这会导致您的问题。

转义 " 个字符。expandable (double-quoted) string ("...") 中使用 `"(或""):

因此:

$user.Query = "[{`"filter`":`"(Type = 'FTE')`"}]"

另请参阅:概念性 about_Quoting_Rules 帮助主题。