Add-AzTableRow 抛出错误 MethodInitationException:指定的资源不存在

问题描述 投票:0回答:1

尝试使用 -UseConnectedAccount 上下文而不是 PowerShell 中基于密钥的身份验证向 Azure 存储表添加新行时遇到错误。

错误信息是: MethodIncationException:使用“1”个参数调用“执行”时出现异常:“指定的资源不存在。”

脚本代码:

$StorageContext = New-AzStorageContext -StorageAccountName $StorageAccountName -UseConnectedAccount
$table = Get-AzStorageTable -Name $tableName -Context $storageContext
Add-AzTableRow -Table $table.CloudTable -PartitionKey "PartitionKey1" -RowKey "RowKey1" -Property @{"Property1"="Value1"}

我们提供了存储表贡献者角色。此外,我们还尝试使用 .NET SDK,如下所示。然而,我们遇到了一个错误:

Exception calling "Execute" with "1" argument(s):
"The specified resource does not exist."
Microsoft.Azure.Cosmos.Table.StorageException: The specified resource does not exist."

脚本代码:

$StorageContext = New-AzStorageContext -StorageAccountName $StorageAccountName -UseConnectedAccount
$table = Get-AzStorageTable -Name $tableName -Context $storageContext
$entity = New-Object -TypeName Microsoft.Azure.Cosmos.Table.DynamicTableEntity -ArgumentList "PartitionKey1", "RowKey1"
$entity.Properties.Add("Property1", "Value1")
$table.CloudTable.Execute([Microsoft.Azure.Cosmos.Table.TableOperation]::InsertOrReplace($entity))
azure powershell powershell-2.0 azure-table-storage .net-sdk
1个回答
0
投票

尝试使用 -UseConnectedAccount 上下文而不是 PowerShell 中基于密钥的身份验证向 Azure 存储表添加新行时遇到错误。

您可以使用以下 PowerShell 脚本添加行,无需基于密钥的身份验证。

脚本:

Connect-AzAccount -Subscription "<Your-subscription-id>"

$storageAccountName="venkat123"
$resourceGroup="<resource-group-name>"
$storageAccount=Get-AzStorageAccount -ResourceGroupName $resourceGroup -Name $storageAccountName
$ctx = $storageAccount.Context
$tableName = "table1"
$cloudTable = (Get-AzStorageTable –Name $tableName –Context $ctx).CloudTable

$partitionKey = "PartitionKey1"
$rowkey="RowKey1"
Add-AzTableRow -table $cloudTable -partitionKey $partitionKey -rowKey $rowkey -property @{"Property1"="Value1"}

输出:

Result         : Microsoft.Azure.Cosmos.Table.DynamicTableEntity
HttpStatusCode : 204
Etag           : W/"datetime'2024-05-27T07%3A39%3A48.6896728Z'"
SessionToken   : 
RequestCharge  : 
ActivityId     : 

enter image description here

传送门: enter image description here

参考:

Add-AzTableRow 命令在 Azure Cloud Shell 中不可用 - Stack Overflow,作者:Jim Xu。

© www.soinside.com 2019 - 2024. All rights reserved.