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
- Python 3.6 of hoger is vereist voor het gebruik van dit pakket.
- Een Azure-abonnement en een Azure Maps-account.
- Een geïmplementeerde Maps Services-resource. U kunt de resource maken via Azure Portal of Azure CLI.
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:
- Azure-identity installeren
- Een nieuwe AAD-toepassing registreren
- Ververleent toegang tot Azure Maps door de juiste rol toe te wijzen aan uw service-principal. Raadpleeg de pagina Verificatie beheren.
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
MapsRouteClient
is 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
- Routebereik aanvragen en ophalen
- Routematrix ophalen
- Routebeschrijvingen ophalen Batch
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 wordenpip
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.
Azure SDK for Python