微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 CloudShell 在存储帐户上创建新的存储容器?

如何解决如何使用 CloudShell 在存储帐户上创建新的存储容器?

我已经用谷歌搜索了几个小时,在 bash 和 powershell 中发现了很少的代码片段,但那些没有完全出错的代码片段最终给了我 403。这是我的脚本。

$resourceGroupName = "MyResourceGroup"
$storageAccountName = "MyStorageAcc"
$containerName = "mynewcontainer"
$storageAccKey = (Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -AccountName $storageAccountName)[0].value
$storagecontext = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccKey

New-AzureStorageContainer -Name $containerName -Permission Container -Context $storagecontext

我最初没有获得存储帐户密钥,但之后给了我 403,我开始调查错误的潜在原因,许多人建议获取存储帐户密钥。但是,这仍然不起作用。我错过了什么?

更新

我发现了这个:https://github.com/Azure/azure-cli/issues/9396,这表明您连接的 IP 地址有问题。但是,我已经添加了我的 IP 地址,但仍然遇到同样的问题。

更新 2

我找不到通过脚本完成此操作的充分方法,因此决定将其作为使用 ARM 模板进行初始创建的一部分。

解决方法

确保您的用户帐户登录 Azure powershell(如果使用 cloud shell,则该帐户是您登录门户的帐户)具有正确的 RBAC 角色,例如Storage Account Contributor 在您的存储帐户/组/订阅中,如果没有,请按照 this 添加。

此外,您将旧的 AzureRM 命令 New-AzureStorageContainer 与新的 Az 命令 Get-AzStorageAccountKey,New-AzStorageContext 混合使用,这可能会导致您使用错误的上下文,修改最后一行如下。

New-AzStorageContainer -Name $containerName -Permission Container -Context $storagecontext

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。