使用 Azure CLI 在订阅中查找现有 Azure Cosmos DB 免费层帐户

适用对象: NoSQL MongoDB Cassandra Gremlin

本文中的脚本演示如何在订阅中找到 Azure Cosmos DB 免费层帐户。

每个 Azure 订阅最多可以有一个 Azure Cosmos DB 免费层帐户。 Azure 门户中可能已禁用创建免费层帐户的选项,或者在尝试创建免费层帐户时收到错误消息。 如果出现上述任一问题,请使用此脚本查找现有免费层帐户的名称及其所属的资源组。

如果没有 Azure 试用版订阅,请在开始前创建一个试用版订阅

先决条件

可以使用本地 Azure CLI。

  • 如果需要,请安装 Azure CLI 来运行 CLI 参考命令。

  • 本地 Azure CLI,请了解如何安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI

    • 通过使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅使用 Azure CLI 登录

    • 出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展

    • 运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade

  • 本文需要 Azure CLI 版本 2.9.1 或更高版本。

示例脚本

登录 Azure

使用以下脚本通过其他订阅登录,将 <Subscription ID> 替换为 Azure 订阅 ID。 如果没有 Azure 试用版订阅,请在开始前创建一个试用版订阅

az cloud set -n AzureChinaCloud
az login

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

有关详细信息,请参阅设置有效的订阅登录

运行脚本

# Azure Cosmos DB offers one free-tier account per subscription
# This script will find if you have a free-tier account and output 
# the name of the Cosmos DB account and its resource group 

# These can remain commented out if running in Azure local Shell

#az login
#az account set -s {your subscription id}

isFound=0

# Iterate through all the resource groups in the subscription
for rg in $(az group list --query "[].name" --output tsv) 
do

	echo "Checking resource group: $rg"
	
	# Return the Cosmos DB account in the resource group marked as free tier
	ft=$(az cosmosdb list -g $rg --query "[?enableFreeTier].name" --output tsv)
	
	if [ ${#ft} -gt 0 ]; then
		
		echo "$ft is a free tier account in resource group: $rg"
		isFound=1
		break
	
	fi

done

if [ $isFound -eq 0 ]; then
	echo "No Free Tier accounts in subscription"
fi

示例参考

此脚本使用以下命令。 表中的每条命令均链接到特定于命令的文档。

命令 说明
az group list 列出 Azure 订阅中的所有资源组。
az cosmosdb list 列出资源组中的所有 Azure Cosmos DB 帐户。

后续步骤

有关 Azure Cosmos DB CLI 的详细信息,请参阅 Azure Cosmos DB CLI 文档

有关特定 API 的 Azure CLI 示例,请参阅: