次の方法で共有


クイック スタート: Azure Managed Redis を使用して Python アプリを作成する

この記事では、Python 言語で Azure Managed Redis キャッシュを使用し、Microsoft Entra ID を使用して接続する方法について説明します。

[前提条件]

  • Azure サブスクリプション - 無料アカウントを作成する
  • Python 3.7 以降の言語環境をインストールする
  • これらのインポートをプロジェクトと開発環境に追加する
    • redis - Redis Python クライアント
    • redis-entraid - Redis Microsoft Entra ID 認証拡張機能
    • azure-identity - Azure 認証ライブラリ

Azure Managed Redis インスタンスを作成する

まず、キャッシュを作成します。 Azure Portal を使用して、Azure Managed Redis または Azure Cache for Redis を使用してキャッシュを作成できます。 このクイック スタートでは、Azure Managed Redis を使用します。

キャッシュを作成すると、Microsoft Entra ID が既定で有効になり、最初からセキュリティで保護されます。 キャッシュでは、このクイック スタート用のパブリック エンドポイントも使用する必要があります。

ポータルでキャッシュを作成するには、次のいずれかの手順に従います。

必要に応じて、Azure CLI の PowerShell を使用して任意のキャッシュを作成できます。

Redis Cache に接続するコード

コード サンプルの最初の部分で、キャッシュへの接続を設定します。

  • Azure Managed Redis および Enterprise キャッシュのポート: 10000
  • Azure Cache for Redis インスタンスのポート: 6380
import redis
from azure.identity import DefaultAzureCredential
from redis_entraid.cred_provider import create_from_default_azure_credential

redis_host = "<host-url>"
redis_port = 10000  # Managed Redis default port

credential_provider = create_from_default_azure_credential(
    ("https://redis.azure.com/.default",),
)

r = redis.Redis(
    host=redis_host,
    port=redis_port,
    ssl=True,
    decode_responses=True,
    credential_provider=credential_provider
)

このコードを実行する前に、自分を Redis ユーザーとしてキャッシュに追加する必要があります。

また、Azure コマンド ラインまたは Azure 開発者コマンド ライン (azd) を使用して、コマンド ラインから Azure への接続を承認する必要があります。

また、 キャッシュにユーザーまたはシステム プリンシパルを追加する必要があります。 プログラムを実行する可能性のあるすべてのユーザーを Redis Cache でユーザーとして追加します。

結果は次のようになります。

PING: True
GET: Hello from Azure Managed Redis!

ここでは、このコード サンプル全体を確認できます。 このコードには、わかりやすくするために、前のコードの説明から省略されたエラー チェックがいくつか含まれています。 最後の手順では、キャッシュへの接続を閉じます。

import redis
from azure.identity import DefaultAzureCredential
from redis_entraid.cred_provider import create_from_default_azure_credential

redis_host = "<host-url>"
redis_port = 10000  # Managed Redis default port

credential_provider = create_from_default_azure_credential(
    ("https://redis.azure.com/.default",),
)

try:
    r = redis.Redis(
        host=redis_host,
        port=redis_port,
        ssl=True,
        decode_responses=True,
        credential_provider=credential_provider,
        socket_timeout=10,
        socket_connect_timeout=10
    )

    print("PING:", r.ping())
    r.set("Message", "Hello from Azure Managed Redis!")
    print("GET:", r.get("Message"))

except Exception as e:
    print(f"Error: {e}")
finally:
    if 'r' in locals():
        r.close()

リソースをクリーンアップする

この記事で作成したリソースを引き続き使用する場合は、リソース グループを保持します。

それ以外の場合、リソースを使い終わったら、課金されないように、作成した Azure リソース グループを削除できます。

重要

リソース グループを削除すると、元に戻すことができません。 リソース グループを削除すると、そのリソース グループ内のすべてのリソースは完全に削除されます。 間違ったリソース グループやリソースをうっかり削除しないようにしてください。 リソースを既存のリソース グループ内に作成し、そのリソース グループ内に保持したいリソースが含まれている場合は、リソース グループを削除するのではなく、各リソースを個別に削除できます。

リソース グループを削除するには

  1. Azure portal にサインインし、 [リソース グループ] を選択します。

  2. 削除するリソース グループを選択します。

    多数のリソース グループがある場合は、[任意のフィールドのフィルター...] ボックスを使用し、この記事用に作成したリソース グループの名前を入力します。 結果リストでリソース グループを選びます。

    作業ペインの削除するリソース グループの一覧を示すスクリーンショット。

  3. [リソース グループの削除] を選択します。

  4. リソース グループの削除の確認を求めるメッセージが表示されます。 確認のためにリソース グループの名前を入力し、[削除] を選択します。

    削除を確認するためにリソース名を必要とするフォームを示すスクリーンショット。

しばらくすると、リソース グループとそのリソースのすべてが削除されます。