【问题标题】:Unable to create new container using New-AzStorageContainer无法使用 New-AzStorageContainer 创建新容器
【发布时间】:2021-05-29 03:15:46
【问题描述】:

我正在使用以下模式通过使用 powershell 传递变量来创建容器,但是创建的上下文似乎存在一些问题,这不允许我创建容器并显示 404(指定的资源没有存在)。

$storage= New-AzStorageAccount -ResourceGroupName $RESOURCE_GROUP_NAME -Location $LOCATION -Name $TF_STATE_STORAGE_ACCOUNT_NAME -SkuName Standard_LRS

$ctx=$storage.Context

New-AzStorageContainer -Name $TF_STATE_CONTAINER_NAME -Context $ctx

enter image description here

注意:(当我多次使用相同的命令重试时,它显示了相同的错误,大约 10 分钟后,我的容器被创建了,所以我可能遗漏了有关正在创建的上下文的一些内容??)

我已经发布(下面的链接也是)一个关于不同上下文的问题被显示为引用命名空间 Microsoft.WindowsAzure.Commands.Common.Storage 的 LazyStorage 构造函数,但是 cmdlet New-AzStorageContainer 接受类型“Microsoft.Azure .Commands.Common.Authentication.Abstractions.IStorageContext" 作为接口,应该获取 AzureStorageContext 类而不是 LazyAzureStorageContext 类。

https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragecontainer?view=azps-5.5.0

问题发布链接:

https://docs.microsoft.com/en-us/answers/questions/289096/new-azstoragecontainer-command-not-accepting-valid.html?childToView=290003#comment-290003

注意:我已经尝试在 ps 脚本中的所有命令之间也加入等待事件,但是没有用。

注意:我曾尝试在 Azure 门户控制台的 Powershell 中使用 Azure CLI 命令,但遇到类似问题并出现以下错误。

enter image description here

【问题讨论】:

    标签: azure powershell azure-storage azure-storage-account


    【解决方案1】:

    正如您所指出的,存储帐户是在您请求它们时异步创建的,因此问题似乎与等待帐户有关。也许您可以使用包含帐户和容器的 ARM 模板来部署存储帐户,而不是使用脚本?

    另一种选择是使用 REST API 创建存储帐户,并监控帐户的“provisioningState”直到它“成功”,然后再继续容器请求?

    https://docs.microsoft.com/en-us/rest/api/storagerp/storage-sample-create-account

    【讨论】:

    • 我已经通过我的 powershell 脚本应用了等待事件,以便创建存储帐户的上下文。上下文也得到了保存,但是 New-AzContainer 不知何故无法使用相同的上下文来创建容器,这在 ARM 方面似乎也很奇怪。调用 Icontext 接口的 cmdlet 是否面临来自 Azure 资源管理器 API 的一些挑战,或者我做错了什么有待检查..
    猜你喜欢
    • 2019-02-04
    • 1970-01-01
    • 2022-11-09
    • 1970-01-01
    • 2020-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多