收到 "parameter cannot be found that matches parameter name 'Ctx'" 错误

Getting "parameter cannot be found that matches parameter name 'Ctx'" error

我正在关注此 Microsoft 文档 Remove-AzStorageBlob (Az.Storage) | Microsoft Docs 我正在尝试在 PowerShell 函数中删除包含上述命令的 blob,如下所示:

$rgName="*******"  
$storage="******"  
$container="*****"  
$blob="my_blob_name"  
Connect-AzAccount  
Function DeleteBlob  
{  
$storage=Get-AzStorageAccount -ResourceGroupName $rgname -Name $storage  
$ctx=$storage.Ctx  
Remove-AzStorageBlob -Container $container -Ctx $ctx -Blob $blob  
}  
DeleteBlob

在 运行 上述脚本之后,出现以下错误:

Remove-AzStorageBlob : A parameter cannot be found that matches parameter name 'Ctx'.  
At line:21 char:52  
+ Remove-AzStorageBlob -Container $container -Ctx $ctx -Blob $b ...  
+ ~~~~  
+ CategoryInfo : InvalidArgument: (:) [Remove-AzStorageBlob], ParameterBindingException  
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.WindowsAzure.Commands.Storage.Blob.RemoveStorageAzureBlobCommand

有没有人遇到上面的错误,请帮我解决错误。

请注意 Ctx 在 PowerShell 中不存在。 要解决该错误,请尝试将 Ctx 替换为 Context .

我通过如下修改脚本在我的环境中尝试了同样的操作并成功获得了结果:

$resourceGroupName="*******"
$storageAccName="******"
$containerName="*****"
$blobName="my_blob_name"
Connect-AzAccount
Function DeleteBlob
{
$storageAcc=Get-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccName
$ctx=$storageAcc.Context
Remove-AzStorageBlob -Container $containerName -Context $ctx -Blob $blobName
}
DeleteBlob

在 运行 上述脚本之前,我的 Portal 中有 blob,如下所示:

在 运行 上述脚本之后,blob 已成功删除,如下所示: