Delen via


Azure Maps Route Package-clientbibliotheek voor Python - versie 1.0.0b1

Dit pakket bevat een Python SDK voor Azure Maps Services for Route. Lees hier meer over Azure Maps Services

Broncode | API-referentiedocumentatie | Productdocumentatie

Disclaimer

Ondersteuning voor Azure SDK Python-pakketten voor Python 2.7 is beëindigd op 1 januari 2022. Raadpleeg voor meer informatie en vragen https://github.com/Azure/azure-sdk-for-python/issues/20691

Aan de slag

Vereisten

Als u Azure CLI gebruikt, vervangt <resource-group-name> u en <account-name> van uw keuze en selecteert u een juiste prijscategorie op basis van uw behoeften via de <sku-name> parameter . Raadpleeg deze pagina voor meer informatie.

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

Het pakket installeren

Installeer de Azure Maps Service Route SDK.

pip install azure-maps-route

MapsRouteClient maken en verifiëren

Als u een clientobject wilt maken voor toegang tot de Azure Maps Route-API, hebt u een referentieobject nodig. Azure Maps Route-client ondersteunt ook twee manieren om te verifiëren.

1. Verifiëren met een abonnementssleutelreferentie

U kunt zich verifiëren met uw Azure Maps abonnementssleutel. Zodra de Azure Maps abonnementssleutel is gemaakt, stelt u de waarde van de sleutel in als omgevingsvariabele: AZURE_SUBSCRIPTION_KEY. Geef vervolgens een AZURE_SUBSCRIPTION_KEY door als de credential parameter aan een exemplaar van 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. Verifiëren met een Azure Active Directory-referentie

U kunt zich verifiëren met AAD-tokenreferenties (Azure Active Directory) met behulp van de Azure Identity-bibliotheek. Voor verificatie met behulp van AAD is enige initiële installatie vereist:

Na de installatie kunt u kiezen welk type referentieazure.identity u wilt gebruiken. Als voorbeeld kan DefaultAzureCredential worden gebruikt om de client te verifiëren:

Stel vervolgens de waarden van de client-id, tenant-id en clientgeheim van de AAD-toepassing in als omgevingsvariabelen: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET

U moet ook de Azure Maps resource opgeven die u wilt gebruiken door de clientId op te geven in de clientopties. De Azure Maps resourceclient-id vindt u in de secties Verificatie in de Azure Maps resource. Raadpleeg de documentatie over hoe u deze kunt vinden.

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

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

Belangrijkste concepten

Met de Azure Maps Route-clientbibliotheek voor Python kunt u communiceren met elk van de onderdelen door gebruik te maken van een toegewezen clientobject.

Clients synchroniseren

MapsRouteClientis de primaire client voor ontwikkelaars die gebruikmaken van de Azure Maps Route-clientbibliotheek voor Python. Nadat u een MapsRouteClient klasse hebt geïnitialiseerd, kunt u de methoden voor dit clientobject verkennen om inzicht te krijgen in de verschillende functies van de Azure Maps Route-service waartoe u toegang hebt.

Asynchrone clients

Deze bibliotheek bevat een volledige asynchrone API die wordt ondersteund in Python 3.5+. Als u deze wilt gebruiken, moet u eerst een asynchroon transport installeren, zoals aiohttp. Zie azure-core-documentatie voor meer informatie.

Asynchrone clients en referenties moeten worden gesloten wanneer ze niet meer nodig zijn. Deze objecten zijn asynchrone contextbeheerders en definiëren asynchrone close methoden.

Voorbeelden

De volgende secties bevatten verschillende codefragmenten die betrekking hebben op enkele van de meest voorkomende Azure Maps Route-taken, waaronder:

Routebeschrijving aanvragen en opvragen

Deze serviceaanvraag retourneert een route tussen een oorsprong en een bestemming, die via waypoints gaat als deze zijn opgegeven. De route houdt rekening met factoren zoals het huidige verkeer en de typische wegsnelheden op de aangevraagde dag van de week en het tijdstip van de dag.

from azure.maps.route import MapsRouteClient

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

Routebereik aanvragen en ophalen

Deze service berekent een set locaties die kunnen worden bereikt vanaf het beginpunt door middel van opgegeven coördinaten en op basis van brandstof, energie, tijd of afstandsbudget dat is opgegeven.

from azure.maps.route import MapsRouteClient

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

Routematrix ophalen

Als de MatrixRoute-aanvraag is geaccepteerd, bevat de locatieheader in het antwoord de URL om de resultaten van de aanvraag te downloaden.

Haalt het resultaat van een eerdere routematrixaanvraag op. De methode retourneert een poller voor het ophalen van het resultaat.

from azure.maps.route import MapsRouteClient

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

Routebeschrijvingen ophalen Batch

Hiermee wordt het resultaat opgehaald van een eerdere batchaanvraag voor routerichting. De methode retourneert een poller voor het ophalen van het resultaat.

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

Problemen oplossen

Algemeen

Maps Route-clients genereren uitzonderingen die zijn gedefinieerd in Azure Core.

Deze lijst kan worden gebruikt ter referentie om opgetreden uitzonderingen te ondervangen. Als u de specifieke foutcode van de uitzondering wilt ophalen, gebruikt u het error_code kenmerk, dat wil doen exception.error_code.

Logboekregistratie

Deze bibliotheek gebruikt de standaardbibliotheek voor logboekregistratie voor logboekregistratie. Basisinformatie over HTTP-sessies (URL's, headers, enzovoort) wordt geregistreerd op INFO-niveau.

Gedetailleerde logboekregistratie op foutopsporingsniveau, inclusief aanvraag-/antwoordteksten en niet-geredigeerde headers, kan worden ingeschakeld op een client met het logging_enable argument:

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)

Aanvullend

Ondervindt u nog steeds problemen? Als u fouten tegenkomt of suggesties hebt, kunt u een probleem melden in de sectie Problemen van het project.

Volgende stappen

Meer voorbeeldcode

Ga aan de slag met onze kaartenroutevoorbeelden (voorbeelden van Async-versies).

Er zijn verschillende voorbeelden van Azure Maps Route Python SDK beschikbaar in de GitHub-opslagplaats van de SDK. Deze voorbeelden bevatten voorbeeldcode voor aanvullende scenario's die vaak worden aangetroffen tijdens het werken met Kaarten Route

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

Opmerkingen: --pre vlag kan optioneel worden toegevoegd, het is om pre-release- en ontwikkelingsversies voor op te nemen.pip install Standaard worden pip alleen stabiele versies gevonden.

Zie Inleiding tot voorbeelden voor meer informatie

Aanvullende documentatie

Zie de documentatie over Azure Maps Route op docs.microsoft.com voor uitgebreidere documentatie over Azure Maps Route.

Bijdragen

Wij verwelkomen bijdragen en suggesties voor dit project. Voor de meeste bijdragen moet u instemmen met een licentieovereenkomst voor bijdragers (CLA: Contributor License Agreement) waarin u verklaart dat u gerechtigd bent ons het recht te geven uw bijdrage te gebruiken, en dat u dit ook doet. Ga naar https://cla.microsoft.com voor meer informatie.

Wanneer u een pull-aanvraag indient, wordt met een CLA-bot automatisch bepaald of u een CLA moet verschaffen en wordt de pull-aanvraag dienovereenkomstig opgemaakt (bijvoorbeeld met een label of commentaar). Volg gewoon de instructies van de bot. U hoeft dit maar eenmaal te doen voor alle repo's waar gebruik wordt gemaakt van onze CLA.

Op dit project is de Microsoft Open Source Code of Conduct (Microsoft Open Source-gedragscode) van toepassing. Zie voor meer informatie de veelgestelde vragen over de gedragscode of neem contact op opencode@microsoft.com met eventuele aanvullende vragen of opmerkingen.