次の方法で共有


Azure Maps Geolocation Package クライアント ライブラリ (Python 用) - バージョン 1.0.0b1

このパッケージには、Azure Maps Services for Geolocation 用の Python SDK が含まれています。 Azure Maps サービスの詳細については、こちらを参照してください

ソースコード | API リファレンス ドキュメント | 製品ドキュメント

免責事項

Python 2.7 の Azure SDK Python パッケージのサポートは、2022 年 1 月 1 日に終了しました。 詳細と質問については、https://github.com/Azure/azure-sdk-for-python/issues/20691 を参照してください

作業の開始

前提条件

Azure CLI を使用する場合は、任意の と <account-name> を置き換え<resource-group-name>、 パラメーターを使用してニーズに基づいて適切な価格レベル<sku-name>選択します。 詳細については、このページを参照してください。

az maps account create --resource-group <resource-group-name> --account-name <account-name> --sku <sku-name>

パッケージをインストールする

Azure Maps Service Geolocation SDK をインストールします。

pip install azure-maps-geolocation

MapsGeolocationClient の作成と認証

Azure Maps Geolocation API にアクセスするためのクライアント オブジェクトを作成するには、資格情報オブジェクトが必要です。 Azure Maps Geolocation クライアントでは、2 つの認証方法もサポートされています。

1. サブスクリプション キーの資格情報を使用して認証する

Azure Maps サブスクリプション キーを使用して認証できます。 Azure Maps サブスクリプション キーが作成されたら、キーの値を環境変数 として設定しますAZURE_SUBSCRIPTION_KEY。 次に、 credential パラメーターとして を AzureKeyCredential のインスタンスに渡しますAZURE_SUBSCRIPTION_KEY

from azure.core.credentials import AzureKeyCredential
from azure.maps.geolocation import MapsGeolocationClient

credential = AzureKeyCredential(os.environ.get("AZURE_SUBSCRIPTION_KEY"))

geolocation_client = MapsGeolocationClient(
    credential=credential,
)

2. Azure Active Directory 資格情報を使用して認証する

Azure Id ライブラリを使用して、Azure Active Directory (AAD) トークン資格情報を使用して認証できます。 AAD を使用した認証には、いくつかの初期セットアップが必要です。

セットアップ後、使用する資格情報azure.identityの種類を選択できます。 たとえば、 DefaultAzureCredential を使用してクライアントを認証できます。

次に、AAD アプリケーションのクライアント ID、テナント ID、およびクライアント シークレットの値を環境変数として設定します。 AZURE_CLIENT_IDAZURE_TENANT_IDAZURE_CLIENT_SECRET

また、クライアント オプションで を指定して、使用するAzure Maps リソースを指定するclientId必要があります。 Azure Maps リソース クライアント ID は、Azure Maps リソースの認証セクションにあります。 検索方法については、 ドキュメント を参照してください。

from azure.maps.geolocation import MapsGeolocationClient
from azure.identity import DefaultAzureCredential

credential = DefaultAzureCredential()
geolocation_client = MapsGeolocationClient(
    client_id="<Azure Maps Client ID>",
    credential=credential
)

主要な概念

Python 用の Azure Maps Geolocation クライアント ライブラリを使用すると、専用のクライアント オブジェクトを使用して各コンポーネントを操作できます。

クライアントの同期

MapsGeolocationClientは、Python 用の Azure Maps Geolocation クライアント ライブラリを使用する開発者向けの主要なクライアントです。 クラスをMapsGeolocationClient初期化したら、このクライアント オブジェクトのメソッドを調べて、アクセスできる Azure Maps Geolocation サービスのさまざまな機能を理解できます。

非同期クライアント

このライブラリには、Python 3.5 以降でサポートされている完全な非同期 API が含まれています。 これを使用するには、まず、 aiohttp などの非同期トランスポートをインストールする必要があります。 詳細については、 azure-core のドキュメント を参照してください。

非同期クライアントと資格情報は、不要になったら閉じる必要があります。 これらのオブジェクトは非同期コンテキスト マネージャーであり、非同期 close メソッドを定義します。

次のセクションでは、地理位置情報タスクで最も一般的なAzure Mapsをいくつか取り上げ、次のようなコード スニペットを示します。

位置情報の取得

このサービスは、指定された IP アドレスの ISO 国コードを返します。 開発者は、この情報を使用して、アプリケーションの表示元の地理的な場所に基づいて特定のコンテンツをブロックまたは変更できます。

from azure.maps.geolocation import MapsGeolocationClient

BLOCK_COUNTRY_LIST = ['US', 'TW', 'AF', 'AX', 'DL']
INCOME_IP_ADDRESS = "2001:4898:80e8:b::189"
geolocation_result = client.get_country_code(ip_address=INCOME_IP_ADDRESS)

result_country_code = geolocation_result.iso_code

if result_country_code in BLOCK_COUNTRY_LIST:
    raise Exception("These IP address is from forebiden country")

トラブルシューティング

全般

Maps Geolocation クライアントでは 、Azure Core で定義されている例外が発生します。

このリストは、スローされた例外をキャッチするための参照に使用できます。 例外の特定のエラー コードを取得するには、 属性 ( error_code つまり) exception.error_codeを使用します。

ログの記録

このライブラリでは、ログ記録に標準 のログ ライブラリが使用されます。 HTTP セッションに関する基本情報 (URL、ヘッダーなど) は INFO レベルでログに記録されます。

要求/応答本文、未変換ヘッダーなど、詳細な DEBUG レベルのログは、 引数を使用してクライアントで logging_enable 有効にすることができます。

import sys
import logging
from azure.maps.geolocation import MapsGeolocationClient

# Create a logger for the 'azure.maps.geolocation' SDK
logger = logging.getLogger('azure.maps.geolocation')
logger.setLevel(logging.DEBUG)

# Configure a console output
handler = logging.StreamHandler(stream=sys.stdout)
logger.addHandler(handler)

その他

まだ問題が発生していますか? バグが発生した場合、または提案がある場合は、プロジェクトの [問題 ] セクションで問題を報告してください。

次のステップ

その他のサンプル コード

Maps Geolocation サンプルの概要 (非同期バージョンのサンプル)。

いくつかのAzure Maps Geolocation Python SDK サンプルは、SDK の GitHub リポジトリで入手できます。 これらのサンプルでは、Maps Geolocation の操作中に一般的に発生するその他のシナリオのコード例を示します

set AZURE_SUBSCRIPTION_KEY="<RealSubscriptionKey>"

pip install azure-maps-geolocation --pre

python samples/sample_authentication.py
python sample/sample_get_country_code.py

注: --pre フラグは必要に応じて追加できます。これは、 の pip installプレリリースバージョンと開発バージョンを含めます。 既定では、 pip 安定したバージョンのみが検索されます。

詳細については、サンプルの概要に関するページを参照してください。

その他のドキュメント

Azure Maps Geolocation に関するより広範なドキュメントについては、docs.microsoft.com に関する Azure Maps Geolocation のドキュメントを参照してください。

共同作成

このプロジェクトでは、共同作成と提案を歓迎しています。 ほとんどの共同作成では、共同作成者使用許諾契約書 (CLA) にご同意いただき、ご自身の共同作成内容を使用する権利を Microsoft に供与する権利をお持ちであり、かつ実際に供与することを宣言していただく必要があります。 詳細については、 https://cla.microsoft.com を参照してください。

pull request を送信すると、CLA を提供して PR (ラベル、コメントなど) を適宜装飾する必要があるかどうかを CLA ボットが自動的に決定します。 ボットによって提供される手順にそのまま従ってください。 この操作は、Microsoft の CLA を使用するすべてのリポジトリについて、1 回だけ行う必要があります。

このプロジェクトでは、Microsoft オープン ソースの倫理規定を採用しています。 詳しくは、「Code of Conduct FAQ (倫理規定についてよくある質問)」を参照するか、opencode@microsoft.com 宛てに質問またはコメントをお送りください。