Share via


Azure Maps Geolocation-Paketclientbibliothek für Python – Version 1.0.0b1

Dieses Paket enthält ein Python SDK für Azure Maps Services for Geolocation. Weitere Informationen zu Azure Maps Services finden Sie hier.

Quellcode | API-Referenzdokumentation | Produktdokumentation

Haftungsausschluss

Die Unterstützung von Python-Paketen für Das Azure SDK für Python 2.7 wurde am 01. Januar 2022 eingestellt. Weitere Informationen und Antworten finden Sie unter https://github.com/Azure/azure-sdk-for-python/issues/20691.

Erste Schritte

Voraussetzungen

Wenn Sie die Azure CLI verwenden, ersetzen <resource-group-name> Sie und <account-name> von Ihrer Wahl, und wählen Sie einen geeigneten Tarif basierend auf Ihren Anforderungen über den <sku-name> Parameter aus. Weitere Informationen finden Sie auf dieser Seite.

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

Installieren des Pakets

Installieren Sie das Azure Maps Service Geolocation SDK.

pip install azure-maps-geolocation

Erstellen und Authentifizieren des MapsGeolocationClient

Um ein Clientobjekt für den Zugriff auf die Azure Maps Geolocation-API zu erstellen, benötigen Sie ein Anmeldeinformationsobjekt. Azure Maps Geolocation-Client unterstützt auch zwei Möglichkeiten zur Authentifizierung.

1. Authentifizieren mit Abonnementschlüsselanmeldeinformationen

Sie können sich mit Ihrem Azure Maps-Abonnementschlüssel authentifizieren. Nachdem der Azure Maps Abonnementschlüssel erstellt wurde, legen Sie den Wert des Schlüssels als Umgebungsvariable fest: AZURE_SUBSCRIPTION_KEY. Übergeben Sie dann einen AZURE_SUBSCRIPTION_KEY als credential Parameter an eine Instanz von AzureKeyCredential.

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. Authentifizieren mit Azure Active Directory-Anmeldeinformationen

Sie können sich mit Azure Active Directory-Tokenanmeldeinformationen (AAD) mithilfe der Azure Identity-Bibliothek authentifizieren. Die Authentifizierung mithilfe von AAD erfordert eine anfängliche Einrichtung:

Nach der Einrichtung können Sie auswählen, von azure.identity welchem Typ von Anmeldeinformationen sie verwendet werden sollen. Als Beispiel kann DefaultAzureCredential verwendet werden, um den Client zu authentifizieren:

Legen Sie als Nächstes die Werte der Client-ID, der Mandanten-ID und des geheimen Clientschlüssels der AAD-Anwendung als Umgebungsvariablen fest: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET

Sie müssen auch die Azure Maps Ressource angeben, die Sie verwenden möchten, indem Sie in den Clientoptionen angebenclientId. Die Azure Maps-Ressourcenclient-ID finden Sie in den Abschnitten Authentifizierung in der Azure Maps-Ressource. Informationen zum Finden finden Sie in der Dokumentation .

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

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

Wichtige Begriffe

Mit der Azure Maps Geolocation-Clientbibliothek für Python können Sie mit den einzelnen Komponenten über ein dediziertes Clientobjekt interagieren.

Clients synchronisieren

MapsGeolocationClientist der primäre Client für Entwickler, die die Azure Maps Geolocation-Clientbibliothek für Python verwenden. Nachdem Sie eine MapsGeolocationClient Klasse initialisiert haben, können Sie die Methoden für dieses Clientobjekt untersuchen, um die verschiedenen Features des Azure Maps Geolocation-Diensts zu verstehen, auf den Sie zugreifen können.

Asynchrone Clients

Diese Bibliothek enthält eine vollständige asynchrone API, die unter Python 3.5 und höher unterstützt wird. Um ihn verwenden zu können, müssen Sie zuerst einen asynchronen Transport installieren, z. B. aiohttp. Weitere Informationen finden Sie in der Dokumentation zu azure-core .

Asynchrone Clients und Anmeldeinformationen sollten geschlossen werden, wenn sie nicht mehr benötigt werden. Diese Objekte sind asynchrone Kontext-Manager und definieren asynchrone close Methoden.

Beispiele

Die folgenden Abschnitte enthalten mehrere Codeausschnitte, die einige der gängigsten Azure Maps Geolocation-Aufgaben behandeln, einschließlich:

Geolocation abrufen

Dieser Dienst gibt den ISO-Ländercode für die angegebene IP-Adresse zurück. Entwickler können diese Informationen verwenden, um bestimmte Inhalte basierend auf geografischen Standorten zu blockieren oder zu ändern, von denen aus die Anwendung angezeigt wird.

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")

Problembehandlung

Allgemein

Geolocation-Zuordnungsclients lösen ausnahmen aus, die in Azure Core definiert sind.

Diese Liste kann als Verweis verwendet werden, um ausgelöste Ausnahmen abzufangen. Um den spezifischen Fehlercode der Ausnahme abzurufen, verwenden Sie das error_code -Attribut, d. h exception.error_code. .

Protokollierung

Diese Bibliothek verwendet die Standardprotokollierungsbibliothek für die Protokollierung. Grundlegende Informationen zu HTTP-Sitzungen (URLs, Header usw.) werden auf INFO-Ebene protokolliert.

Eine detaillierte Protokollierung auf DEBUG-Ebene, einschließlich Anforderungs-/Antworttexten und nicht ausgeführten Headern, kann auf einem Client mit dem logging_enable Argument aktiviert werden:

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)

Zusätzliche Informationen

Treten weiterhin Probleme auf? Wenn Fehler auftreten oder Vorschläge vorliegen, melden Sie ein Problem im Abschnitt Probleme des Projekts.

Nächste Schritte

Weiterer Beispielcode

Erste Schritte mit unseren Karten-Geolocation-Beispielen (Beispiele für die Asynchrone Version).

Im GitHub-Repository des SDK des SDK stehen Ihnen mehrere beispiele für Azure Maps Geolocation Python SDK zur Verfügung. Diese Beispiele bieten Beispielcode für zusätzliche Szenarien, die häufig bei der Arbeit mit Maps Geolocation auftreten.

set AZURE_SUBSCRIPTION_KEY="<RealSubscriptionKey>"

pip install azure-maps-geolocation --pre

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

Hinweise: --pre Das Flag kann optional hinzugefügt werden, es soll Vorabversionen und Entwicklungsversionen für pip installeinschließen. Standardmäßig pip werden nur stabile Versionen gefunden.

Weitere Details finden Sie unter Einführung in die Beispiele.

Zusätzliche Dokumentation

Eine ausführlichere Dokumentation zu Azure Maps Geolocation finden Sie in der dokumentation Azure Maps Geolocation auf docs.microsoft.com.

Mitwirken

Beiträge und Vorschläge für dieses Projekt sind willkommen. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. Ausführliche Informationen finden Sie unter https://cla.microsoft.com.

Wenn Sie einen Pull Request (PR) übermitteln, überprüft ein CLA-Bot automatisch, ob Sie eine Lizenzvereinbarung bereitstellen und den PR entsprechend ergänzen müssen (z.B. mit einer Bezeichnung oder einem Kommentar). Führen Sie einfach die Anweisungen des Bots aus. Sie müssen dies nur einmal für alle Repositorys ausführen, die unsere CLA verwenden.

Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.