Freigeben über


Azure Maps Route Package-Clientbibliothek für Python– Version 1.0.0b1

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

Quellcode | API-Referenzdokumentation | Produktdokumentation

Haftungsausschluss

Die Unterstützung von Azure SDK-Python-Paketen für Python 2.7 endet am 01. Januar 2022. 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> 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 Route SDK.

pip install azure-maps-route

Erstellen und Authentifizieren des MapsRouteClient

Um ein Clientobjekt für den Zugriff auf die Azure Maps Route-API zu erstellen, benötigen Sie ein Anmeldeinformationsobjekt. Azure Maps Route-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 als AZURE_SUBSCRIPTION_KEYcredential Parameter an eine Instanz von AzureKeyCredential.

from azure.core.credentials import AzureKeyCredential
from azure.maps.route import MapsRouteClient

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

route_client = MapsRouteClient(
    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. Für die Authentifizierung mithilfe von AAD ist eine anfängliche Einrichtung erforderlich:

Nach dem Setup können Sie auswählen, aus azure.identity welcher Art von Anmeldeinformationen verwendet werden soll. Beispielsweise 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_IDAZURE_CLIENT_SECRET

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

from azure.maps.route import MapsRouteClient
from azure.identity import DefaultAzureCredential

credential = DefaultAzureCredential()
route_client = MapsRouteClient(
    client_id="<Azure Maps Client ID>",
    credential=credential
)

Wichtige Begriffe

Die Azure Maps Route-Clientbibliothek für Python ermöglicht Ihnen die Interaktion mit den einzelnen Komponenten über ein dediziertes Clientobjekt.

Synchronisierungsclients

MapsRouteClientist der primäre Client für Entwickler, die die Azure Maps Route-Clientbibliothek für Python verwenden. Nachdem Sie eine MapsRouteClient Klasse initialisiert haben, können Sie die Methoden für dieses Clientobjekt untersuchen, um die verschiedenen Features des Azure Maps Route-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 es 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 häufigsten Azure Maps Route-Aufgaben behandeln, einschließlich:

Routenbeschreibung anfordern und abrufen

Diese Dienstanforderung gibt eine Route zwischen einem Ursprung und einem Ziel zurück und durchläuft Wegpunkte, sofern sie angegeben sind. Die Route berücksichtigt Faktoren wie den aktuellen Verkehr und die typischen Straßengeschwindigkeiten am angeforderten Wochentag und der gewünschten Tageszeit.

from azure.maps.route import MapsRouteClient

route_directions_result = client.get_route_directions(route_points=[LatLon(47.60323, -122.33028), LatLon(53.2, -106)]);

Routenbereich anfordern und abrufen

Dieser Dienst berechnet eine Reihe von Standorten, die vom Ursprungspunkt aus anhand der angegebenen Koordinaten und basierend auf dem angegebenen Budget für Kraftstoff, Energie, Zeit oder Entfernung erreicht werden können.

from azure.maps.route import MapsRouteClient

route_range_result = client.get_route_range(coordinates=LatLon(47.60323, -122.33028), time_budget_in_sec=6000);

Routenmatrix abrufen

Wenn die Matrixroutenanforderung erfolgreich akzeptiert wurde, enthält der Location-Header in der Antwort die URL zum Herunterladen der Ergebnisse der Anforderung.

Ruft das Ergebnis einer vorherigen Routenmatrixanforderung ab. Die -Methode gibt einen Poller zum Abrufen des Ergebnisses zurück.

from azure.maps.route import MapsRouteClient

route_matrix_result = client.begin_get_route_matrix_result(matrix_id="11111111-2222-3333-4444-555555555555");

Get Route Directions Batch

Ruft das Ergebnis einer vorherigen Batchanforderung für die Routenrichtung ab. Die -Methode gibt einen Poller zum Abrufen des Ergebnisses zurück.

from azure.maps.route import MapsRouteClient

route_directions_batch_poller_result = client.begin_get_route_directions_batch_result(batch_id="11111111-2222-3333-4444-555555555555");

Problembehandlung

Allgemein

KartenRouteclients 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 Standardprotokollbibliothek für die Protokollierung. Grundlegende Informationen zu HTTP-Sitzungen (URLs, Header usw.) werden auf INFO-Ebene protokolliert.

Die 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.route import MapsRouteClient

# Create a logger for the 'azure.maps.route' SDK
logger = logging.getLogger('azure.maps.route')
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 Kartenroutenbeispielen (Beispiele für die Asynchrone Version).

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

set AZURE_SUBSCRIPTION_KEY="<RealSubscriptionKey>"

pip install azure-maps-route --pre

python samples/sample_authentication.py
python sample/sample_get_route_range.py
python samples/sample_get_route_directions.py
python samples/sample_request_route_matrix.py
python samples/async_samples/sample_authentication_async.py
python samples/async_samples/sample_get_route_range_async.py
python samples/async_samples/sample_request_route_matrix_async.py
python samples/async_samples/sample_get_route_directions_async.py

Hinweise: --pre Das Flag kann optional hinzugefügt werden, es enthält Vorab- und Entwicklungsversionen für pip install. Standardmäßig pip werden nur stabile Versionen gefunden.

Weitere Details finden Sie unter Einführung zu Beispielen.

Zusätzliche Dokumentation

Eine ausführlichere Dokumentation zu Azure Maps Route finden Sie in der Azure Maps Route-Dokumentation 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.