我正在尝试使用AZ命令行列出CosmosDB实例中的所有数据库-
az account set --subscription $subscriptionId
az cosmosdb database list --name $cosmosName --resource-group $resourceGroup
上面的命令产生以下响应-
操作失败:找不到资源
添加--debug
自变量时,出现上述错误以及以下详细信息-
状态码:404
{“ code”:“ NotFound”,“ message”:“系统中不存在具有指定ID的实体。\ r \ nActivityId:d5383919-7c23-4158-bded-2c623d55ab9b,Microsoft.Azure.Documents.Common / 2.0 .0.0“}
我要查询的CosmosDB确实存在,它是通过运行命令az cosmosdb list
派生的,我直接从门户网站复制了SubscriptionId和ResourceGroup。
MS docs和命令az cosmosdb database list --help
似乎都表明我在做什么应该可以工作。
谁能建议我该怎么做才能解决此问题?
答案 0 :(得分:2)
如果运行Azure CLI的PC没有与CosmosDB帐户的网络连接,则可能发生此错误。要验证是否是问题所在,请转到 Portal.Azure.com> CosmosDB帐户>防火墙和虚拟网络,如果启用了防火墙,请添加您当前的IP地址。
答案 1 :(得分:0)
我今天也遇到了同样的问题,我发现防火墙是问题所在,添加客户端公共IP可以解决此问题,但是还有一个棘手的部分,即使在Azure门户中更新了防火墙规则之后,也需要一些时间(对我来说我认为是5〜10分钟)。我猜这条规则需要部署到其他位置,并且需要更长的时间,具体取决于您击中的区域。
因此,在更新防火墙规则之后,您可能只需要多一点耐心即可。
还请注意,az允许三个不同的选项: (1)资源组名称和帐号名称 (2)帐号名称和密钥 (3)网址连接和密钥
我发现只有1个和3个作品,(2)会给我一个错误: +不支持的操作数类型:“ NoneType”和“ str”
“ az cosmosdb数据库显示”和“ az cosmosdb数据库列表”都有相同的问题。我使用的版本是azure-cli(2.0.45)。