我得到了一个 C# 代码,它使用 az cli 命令在 Azure 中创建一个存储帐户:
$"az storage account create -n '{storageAccountName}' -g '{resourceGroupName}' --location {location}"
代码可以使用相同的命令多次运行。如果存储帐户已存在并且正在调用此命令,会发生什么情况?通过尝试,我得到了像第一次运行它一样的响应..这是否意味着运行它会删除所有内容?之前分配给存储帐户的所有角色以及保存在其中的所有数据都会被删除吗?
话虽如此,如果您使用相同的存储帐户名称参数重新运行 Azure CLI 命令(资源组和位置对此没有意义,因为存储帐户名称需要在整个 Azure 中唯一,而不仅仅是在资源组内唯一)或位置),该命令不会失败。它成功返回一个响应,其中包含具有该名称的存储帐户的属性和元数据。
JSON 响应中的键之一是 UTC 格式的“creationTime”,它将为您确认这一点。多次运行命令,您将看到命令在 2-3 秒内返回响应,并且“creationTime”始终保持不变。
我怀疑存储帐户名称需要唯一的原因是 Azure 以端点的形式公开 Blob 存储,如 -
"blob": "https://{name}.blob.core.windows.net/"
。因此,假设,如果有 2 个具有相同名称的存储帐户,它们将具有相同的端点,这是一个矛盾,因为您无法决定单个端点属于这两个存储帐户中的哪个存储帐户。
所以,回答你的问题 -