Azure CLI を使ってサブスクリプション内の既存の Azure Cosmos DB の Free レベル アカウントを検索する

適用対象: NoSQL MongoDB Cassandra Gremlin Table

この記事のスクリプトは、サブスクリプション内の Azure Cosmos DB の Free レベル アカウントを見つける方法を示しています。

各 Azure サブスクリプションには、最大 1 つの Azure Cosmos DB の Free レベル アカウントを持つことができます。 Free レベル アカウントを作成しようとする場合、Azure portal でそのオプションが無効にされていることや、Free レベル アカウント作成の試行時にエラーが発生することがあります。 このような問題が発生した場合は、このスクリプトを使って、既存の Free レベル アカウントの名前と、そのアカウントが属するリソース グループを特定します。

Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。

前提条件

  • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。

  • 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 Cloud Shell を使用している場合は、最新バージョンが既にインストールされています。

サンプル スクリプト

Azure Cloud Shell を起動する

Azure Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。 一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。

Cloud Shell を開くには、コード ブロックの右上隅にある [使ってみる] を選択します。 https://shell.azure.com に移動して、別のブラウザー タブで Cloud Shell を起動することもできます。

Cloud Shell が開いたら、お使いの環境に対して Bash が選択されていることを確認します。 後続のセッションでは、Bash 環境で Azure CLI を使用します。[コピー] を選択してコードのブロックをコピーし、Cloud Shell に貼り付けます。その後、Enter キーを押してそれを実行します。

Azure へのサインイン

Cloud Shell は、サインインした最初のアカウントで自動的に認証されます。 別のサブスクリプションを使用してサインインするには、次のスクリプトを使用し、<Subscription ID> をご使用の Azure サブスクリプション ID に置き換えます。 Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。

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 Cloud 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 サンプルについては、以下を参照してください。