klientská knihovna Azure Maps Route Package pro Python – verze 1.0.0b1
Tento balíček obsahuje sadu Python SDK pro Azure Maps Services pro Route. Další informace o Azure Maps Services najdete tady.
Zdrojový kód | Referenční dokumentace k | rozhraní API Dokumentace k produktu
Právní omezení
Podpora balíčků Azure SDK Python pro Python 2.7 skončila 1. ledna 2022. Další informace a dotazy najdete na https://github.com/Azure/azure-sdk-for-python/issues/20691
Začínáme
Požadavky
- K použití tohoto balíčku se vyžaduje Python 3.6 nebo novější.
- Předplatné Azure a účet Azure Maps.
- Nasazený prostředek služby Maps Services. Prostředek můžete vytvořit prostřednictvím webu Azure Portal nebo Azure CLI.
Pokud používáte Azure CLI, nahraďte <resource-group-name>
a <account-name>
podle svého výběru a pomocí parametru <sku-name>
vyberte správnou cenovou úroveň na základě vašich potřeb. Další podrobnosti najdete na této stránce .
az maps account create --resource-group <resource-group-name> --account-name <account-name> --sku <sku-name>
Instalace balíčku
Nainstalujte sadu SDK pro směrování služby Azure Maps.
pip install azure-maps-route
Vytvoření a ověření klienta MapsRouteClient
K vytvoření objektu klienta pro přístup k rozhraní API Azure Maps Route budete potřebovat objekt přihlašovacích údajů. klient Azure Maps Route také podporuje dva způsoby ověřování.
1. Ověřování pomocí přihlašovacích údajů klíče předplatného
Ověření můžete provést pomocí klíče předplatného Azure Maps.
Po vytvoření klíče předplatného Azure Maps nastavte hodnotu klíče jako proměnnou prostředí: AZURE_SUBSCRIPTION_KEY
.
Pak předejte AZURE_SUBSCRIPTION_KEY
parametr jako credential
do instance 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. Ověřování pomocí přihlašovacích údajů Azure Active Directory
Pomocí přihlašovacích údajů tokenu Azure Active Directory (AAD) se můžete ověřit pomocí knihovny identit Azure. Ověřování pomocí AAD vyžaduje počáteční nastavení:
- Instalace azure-identity
- Registrace nové aplikace AAD
- Přiřazením vhodné role k instančnímu objektu udělte přístup k Azure Maps. Projděte si stránku Správa ověřování.
Po nastavení můžete zvolit, který typ přihlašovacích údajů se azure.identity
má použít.
Jako příklad lze k ověření klienta použít DefaultAzureCredential :
Dále nastavte hodnoty ID klienta, ID tenanta a tajného klíče klienta aplikace AAD jako proměnné prostředí: AZURE_CLIENT_ID
, AZURE_TENANT_ID
, AZURE_CLIENT_SECRET
Budete také muset zadat Azure Maps prostředek, který chcete použít, zadáním parametru clientId
v možnostech klienta. ID klienta prostředku Azure Maps najdete v částech Ověřování prostředku Azure Maps. Informace o tom, jak ho najít, najdete v dokumentaci .
from azure.maps.route import MapsRouteClient
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
route_client = MapsRouteClient(
client_id="<Azure Maps Client ID>",
credential=credential
)
Klíčové koncepty
Klientská knihovna Azure Maps Route pro Python umožňuje interakci s každou komponentou pomocí vyhrazeného objektu klienta.
Synchronizovat klienty
MapsRouteClient
je primární klient pro vývojáře, kteří používají klientskou knihovnu Azure Maps Route pro Python.
Jakmile jste inicializovali MapsRouteClient
třídu, můžete prozkoumat metody tohoto klientského objektu, abyste porozuměli různým funkcím služby Azure Maps Route, ke kterým máte přístup.
Asynchronní klienti
Tato knihovna obsahuje kompletní asynchronní rozhraní API podporované v Pythonu 3.5 a novějším. Abyste ho mohli používat, musíte nejprve nainstalovat asynchronní přenos, například aiohttp. Další informace najdete v dokumentaci k azure-core .
Asynchronní klienti a přihlašovací údaje by se měli zavřít, když už nejsou potřeba. Tyto objekty jsou asynchronní kontextové manažery a definují asynchronní close
metody.
Příklady
Následující části obsahují několik fragmentů kódu, které pokrývají některé z nejběžnějších úloh Azure Maps směrování, mezi které patří:
- Vyžádání a získání navigačních pokynů na trase
- Vyžádání a získání rozsahu tras
- Získat matici tras
- Načíst trasu trasy Batch
Vyžádání a získání navigačních pokynů na trase
Tato žádost o službu vrátí trasu mezi zdrojem a cílem, která prochází trasovými body, pokud jsou zadané. Trasa bude brát v úvahu faktory, jako je aktuální provoz a typická rychlost silnic v požadovaný den v týdnu a denní čas.
from azure.maps.route import MapsRouteClient
route_directions_result = client.get_route_directions(route_points=[LatLon(47.60323, -122.33028), LatLon(53.2, -106)]);
Vyžádání a získání rozsahu tras
Tato služba vypočítá sadu míst, ke kterým lze dosáhnout z bodu původu podle zadaných souřadnic a na základě zadaného rozpočtu na palivo, energii, čas nebo vzdálenost.
from azure.maps.route import MapsRouteClient
route_range_result = client.get_route_range(coordinates=LatLon(47.60323, -122.33028), time_budget_in_sec=6000);
Získat matici tras
Pokud byl požadavek matice trasy úspěšně přijat, hlavička Location v odpovědi obsahuje adresu URL pro stažení výsledků požadavku.
Načte výsledek předchozího požadavku matice směrování. Metoda vrátí poller pro načtení výsledku.
from azure.maps.route import MapsRouteClient
route_matrix_result = client.begin_get_route_matrix_result(matrix_id="11111111-2222-3333-4444-555555555555");
Načíst trasu trasy Batch
Načte výsledek dávkového požadavku předchozího směru trasy. Metoda vrátí poller pro načtení výsledku.
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");
Poradce při potížích
Obecné
Klienti Maps Route vyvolávají výjimky definované v Azure Core.
Tento seznam lze použít jako referenci k zachycení vyvolaných výjimek. Pokud chcete získat konkrétní kód chyby výjimky, použijte error_code
atribut , exception.error_code
tj. .
protokolování
Tato knihovna používá pro protokolování standardní knihovnu protokolování . Základní informace o relacích HTTP (adresy URL, hlavičky atd.) se protokolují na úrovni INFO.
Podrobné protokolování úrovně LADĚNÍ, včetně těl požadavků/odpovědí a nereagovaných hlaviček, je možné povolit na klientovi s argumentem 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)
Další
Stále dochází k problémům? Pokud narazíte na nějaké chyby nebo máte návrhy, nahlaste problém v části Problémy projektu.
Další kroky
Další ukázkový kód
Začínáme s našimi ukázkami mapových tras (ukázky asynchronní verze)
V úložišti githubu sady SDK sady SDK pro sadu SDK pro Azure Maps route máte k dispozici několik ukázek. Tyto ukázky poskytují ukázkový kód pro další scénáře, se kterými se při práci s trasou maps běžně setkáváme.
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
Poznámky:
--pre
Příznak lze volitelně přidat, má obsahovat předběžné verze a vývojové verze propip install
. Ve výchozím nastavenípip
najde pouze stabilní verze.
Další podrobnosti najdete v úvodu k ukázce.
Další dokumentace
Rozsáhlejší dokumentaci ke službě Azure Maps Route najdete v dokumentaci ke službě Azure Maps Route na docs.microsoft.com.
Přispívání
Tento projekt vítá příspěvky a návrhy. Většina příspěvků vyžaduje souhlas s licenční smlouvou s přispěvatelem (CLA), která stanoví, že máte právo udělit nám práva k používání vašeho příspěvku a skutečně tak činíte. Podrobnosti najdete tady: https://cla.microsoft.com
Při odesílání žádosti o přijetí změn robot CLA automaticky určí, jestli je potřeba poskytnout smlouvu CLA, a příslušným způsobem žádost o přijetí změn upraví (např. přidáním jmenovky nebo komentáře). Stačí postupovat podle pokynů robota. Pro všechna úložiště používající naši smlouvu CLA to stačí udělat jenom jednou.
Tento projekt přijal pravidla chování pro Microsoft Open Source. Další informace najdete v nejčastějších dotazech k pravidlům chování nebo se obraťte na opencode@microsoft.com případné další dotazy nebo komentáře.
Azure SDK for Python