Condividi tramite


libreria client del pacchetto di route Mappe di Azure per Python - versione 1.0.0b1

Questo pacchetto contiene python SDK per Mappe di Azure Services for Route. Altre informazioni sui servizi Mappe di Azure sono disponibili qui

Codice | sorgente Documentazione | di riferimento sulle APIDocumentazione del prodotto

Dichiarazione di non responsabilità

Il supporto dei pacchetti Python di Azure SDK per Python 2.7 è terminato il 01 gennaio 2022. Per altre informazioni e domande, fare riferimento a https://github.com/Azure/azure-sdk-for-python/issues/20691

Introduzione

Prerequisiti

Se si usa l'interfaccia della riga di comando di Azure, sostituire <resource-group-name> e <account-name> scegliere un piano tariffario appropriato in base alle esigenze tramite il <sku-name> parametro . Per altri dettagli, fare riferimento a questa pagina .

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

Installare il pacchetto

Installare Mappe di Azure Service Route SDK.

pip install azure-maps-route

Creare e autenticare MapsRouteClient

Per creare un oggetto client per accedere all'API di route Mappe di Azure, è necessario un oggetto credenziale. Mappe di Azure client route supportano anche due modi per eseguire l'autenticazione.

1. Eseguire l'autenticazione con una credenziale della chiave di sottoscrizione

È possibile eseguire l'autenticazione con la chiave di sottoscrizione Mappe di Azure. Dopo aver creato la chiave di sottoscrizione Mappe di Azure, impostare il valore della chiave come variabile di ambiente: AZURE_SUBSCRIPTION_KEY. Passare quindi un AZURE_SUBSCRIPTION_KEY come parametro in un'istanza credential di 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. Eseguire l'autenticazione con credenziali di Azure Active Directory

È possibile eseguire l'autenticazione con le credenziali del token di Azure Active Directory (AAD) usando la libreria di identità di Azure. L'autenticazione tramite AAD richiede una configurazione iniziale:

Dopo l'installazione, è possibile scegliere il tipo di credenziale da azure.identity usare. Ad esempio, DefaultAzureCredential può essere usato per autenticare il client:

Impostare quindi i valori dell'ID client, dell'ID tenant e del segreto client dell'applicazione AAD come variabili di ambiente: AZURE_CLIENT_ID, , AZURE_TENANT_IDAZURE_CLIENT_SECRET

Sarà anche necessario specificare la risorsa Mappe di Azure che si intende usare specificando nelle clientId opzioni client. L'ID client della risorsa Mappe di Azure è disponibile nelle sezioni Autenticazione della risorsa Mappe di Azure. Fare riferimento alla documentazione su come trovarla.

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

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

Concetti chiave

La libreria client di route Mappe di Azure per Python consente di interagire con ognuno dei componenti tramite l'uso di un oggetto client dedicato.

Sincronizzare i client

MapsRouteClientè il client principale per gli sviluppatori che usano la libreria client di route Mappe di Azure per Python. Dopo aver inizializzato una MapsRouteClient classe, è possibile esplorare i metodi in questo oggetto client per comprendere le diverse funzionalità del servizio di route Mappe di Azure a cui è possibile accedere.

Client asincroni

Questa libreria include un'API asincrona completa supportata in Python 3.5+. Per usarlo, è prima necessario installare un trasporto asincrono, ad esempio aiohttp. Per altre informazioni, vedere la documentazione di azure-core .

I client e le credenziali asincroni devono essere chiusi quando non sono più necessari. Questi oggetti sono gestori di contesti asincroni e definiscono metodi asincroni close .

Esempio

Le sezioni seguenti forniscono diversi frammenti di codice che illustrano alcune delle attività di route più comuni Mappe di Azure, tra cui:

Richiedere e ottenere le indicazioni stradali

Questa richiesta di servizio restituisce una route tra un'origine e una destinazione, passando i punti di percorso se specificati. Il percorso prenderà in considerazione fattori quali il traffico corrente e le velocità tipiche della strada nel giorno richiesto della settimana e dell'ora del giorno.

from azure.maps.route import MapsRouteClient

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

Richiesta e recupero dell'intervallo di route

Questo servizio calcolerà un set di posizioni che possono essere raggiunte dal punto di origine in base a coordinate specificate e in base a carburante, energia, tempo o budget di distanza specificato.

from azure.maps.route import MapsRouteClient

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

Ottenere la matrice di route

Se la richiesta di route matrice è stata accettata correttamente, l'intestazione Location nella risposta contiene l'URL per scaricare i risultati della richiesta.

Recupera il risultato di una richiesta di matrice di route precedente. Il metodo restituisce un poller per recuperare il risultato.

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

Recupera il risultato di una richiesta batch di direzione della route precedente. Il metodo restituisce un poller per recuperare il risultato.

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

Risoluzione dei problemi

Generale

I client di mappe generano eccezioni definite in Azure Core.

Questo elenco può essere usato per fare riferimento alle eccezioni generate. Per ottenere il codice di errore specifico dell'eccezione, usare l'attributo error_code , ad esempio exception.error_code.

Registrazione

Questa libreria usa la libreria di registrazione standard per la registrazione. Le informazioni di base sulle sessioni HTTP (URL, intestazioni e così via) vengono registrate a livello di INFO.

La registrazione dettagliata a livello di DEBUG, inclusi i corpi di richiesta/risposta e le intestazioni non contrassegnate, può essere abilitata in un client con l'argomento logging_enable :

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)

Altro

Si sono ancora riscontrati problemi? Se si verificano bug o si hanno suggerimenti, segnalare un problema nella sezione Problemi del progetto.

Passaggi successivi

Altro codice di esempio

Introduzione agli esempi di route di Mappe (esempi di versione asincrona).

Sono disponibili diversi esempi di Python SDK di route Mappe di Azure nel repository GitHub dell'SDK. Questi esempi forniscono codice di esempio per scenari aggiuntivi comunemente rilevati durante l'uso dell'itinerario di Mappe

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

Note: --pre il flag può essere aggiunto facoltativamente, è includere versioni non definitive e di sviluppo per pip install. Per impostazione predefinita, pip trova solo versioni stabili.

Per altri dettagli, vedere l'introduzione agli esempi

Documentazione aggiuntiva

Per una documentazione più completa su Mappe di Azure Route, vedere la documentazione Mappe di Azure Route su docs.microsoft.com.

Contributo

In questo progetto sono benvenuti i contributi e i suggerimenti. Per la maggior parte dei contenuti è necessario sottoscrivere un contratto di licenza di collaborazione (CLA, Contributor License Agreement) che stabilisce che l'utente ha il diritto di concedere, e di fatto concede a Microsoft i diritti d'uso del suo contributo. Per informazioni dettagliate, vedere https://cla.microsoft.com.

Quando si invia una richiesta pull, un bot CLA determina automaticamente se è necessario specificare un contratto CLA e completare la richiesta pull in modo appropriato (ad esempio con un'etichetta e un commento). Seguire le istruzioni specificate dal bot. È sufficiente eseguire questa operazione una sola volta per tutti i repository che usano il contratto CLA Microsoft.

Questo progetto ha adottato il Codice di comportamento di Microsoft per l'open source. Per altre informazioni, vedere Code of Conduct FAQ (Domande frequenti sul Codice di comportamento Open Source di Microsoft) oppure contattare opencode@microsoft.com per eventuali altre domande o commenti.