Sdílet prostřednictvím


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

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í:

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

MapsRouteClientje 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

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_codetj. .

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 pro pip 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.