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
- Für die Verwendung dieses Pakets ist Python 3.7 oder höher erforderlich.
- Ein Azure-Abonnement und ein Azure Maps-Konto.
- Eine bereitgestellte Maps Services-Ressource. Sie können die Ressource über das Azure-Portal oder die Azure CLI erstellen.
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:
- Installieren von azure-identity
- Registrieren einer neuen AAD-Anwendung
- Gewähren Sie Zugriff auf Azure Maps, indem Sie Ihrem Dienstprinzipal die geeignete Rolle zuweisen. Weitere Informationen finden Sie auf der Seite Authentifizierung verwalten.
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
MapsGeolocationClient
ist 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ürpip install
einschließen. Standardmäßigpip
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.
Azure SDK for Python
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für