Sdílet prostřednictvím


Klientská knihovna balíčku geolokace Azure Maps pro Python – verze 1.0.0b1

Tento balíček obsahuje sadu Python SDK pro službu Azure Maps Services pro geografickou polohu. 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 vlastní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 AZURE MAPS Service Geolocation SDK.

pip install azure-maps-geolocation

Vytvoření a ověření mapsGeolocationClient

Pokud chcete vytvořit objekt klienta pro přístup k rozhraní API geografické polohy Azure Maps, budete potřebovat objekt přihlašovacích údajů. Azure Maps klient geografické polohy podporuje také dva způsoby ověřování.

1. Ověření pomocí přihlašovacích údajů klíče předplatného

K ověření můžete použít klíč 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 jako parametr předejte AZURE_SUBSCRIPTION_KEYcredential instanci AzureKeyCredential.

from azure.core.credentials import AzureKeyCredential
from azure.maps.geolocation import MapsGeolocationClient

credential = AzureKeyCredential(os.environ.get("AZURE_SUBSCRIPTION_KEY"))

geolocation_client = MapsGeolocationClient(
    credential=credential,
)

2. Ověřování pomocí přihlašovacích údajů Azure Active Directory

K ověření můžete použít přihlašovací údaje tokenu Azure Active Directory (AAD) pomocí knihovny Identit Azure. Ověřování pomocí AAD vyžaduje určité počáteční nastavení:

Po nastavení můžete zvolit, jaký typ přihlašovacích údajůazure.identity se má použít. Například DefaultAzureCredential se dá použít k ověření klienta:

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 určit 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 ji najít, najdete v dokumentaci .

from azure.maps.geolocation import MapsGeolocationClient
from azure.identity import DefaultAzureCredential

credential = DefaultAzureCredential()
geolocation_client = MapsGeolocationClient(
    client_id="<Azure Maps Client ID>",
    credential=credential
)

Klíčové koncepty

Klientská knihovna Azure Maps Geolocation pro Python umožňuje interakci s každou komponentou pomocí vyhrazeného objektu klienta.

Synchronizace klientů

MapsGeolocationClientje primární klient pro vývojáře, kteří používají klientskou knihovnu Azure Maps Geolocation pro Python. Jakmile jste inicializovali MapsGeolocationClient třídu, můžete prozkoumat metody tohoto objektu klienta, abyste porozuměli různým funkcím služby Azure Maps Geolocation, ke které máte přístup.

Asynchronní klienti

Tato knihovna obsahuje kompletní asynchronní rozhraní API podporované v Pythonu 3.5 nebo novějším. Abyste ho mohli používat, musíte nejdřív 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ěly zavřít, když už je nepotřebujete. Tyto objekty jsou správci asynchronního kontextu 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 geografické polohy, mezi které patří:

Získání geografické polohy

Tato služba vrátí kód země ISO pro zadanou IP adresu. Vývojáři můžou tyto informace použít k blokování nebo změně určitého obsahu na základě geografických umístění, ze kterých se aplikace zobrazuje.

from azure.maps.geolocation import MapsGeolocationClient

BLOCK_COUNTRY_LIST = ['US', 'TW', 'AF', 'AX', 'DL']
INCOME_IP_ADDRESS = "2001:4898:80e8:b::189"
geolocation_result = client.get_country_code(ip_address=INCOME_IP_ADDRESS)

result_country_code = geolocation_result.iso_code

if result_country_code in BLOCK_COUNTRY_LIST:
    raise Exception("These IP address is from forebiden country")

Poradce při potížích

Obecné

Klienti služby Maps Geolocation 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 , tj exception.error_code. .

protokolování

Tato knihovna používá k 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 nezopravovaných hlaviček, je možné povolit na klientovi s argumentem logging_enable :

import sys
import logging
from azure.maps.geolocation import MapsGeolocationClient

# Create a logger for the 'azure.maps.geolocation' SDK
logger = logging.getLogger('azure.maps.geolocation')
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ší vzorový kód

Začněte s našimi ukázkami geolokace map (ukázky asynchronní verze).

Několik ukázek sady Python SDK Azure Maps geografické polohy je k dispozici v úložišti sady SDK Na GitHubu. Tyto ukázky poskytují ukázkový kód pro další scénáře, se kterými se běžně setkáte při práci s geografickou umístěním v mapách.

set AZURE_SUBSCRIPTION_KEY="<RealSubscriptionKey>"

pip install azure-maps-geolocation --pre

python samples/sample_authentication.py
python sample/sample_get_country_code.py

Poznámky: --pre Příznak lze přidat volitelně, má obsahovat předběžné a vývojové verze pro pip install. Ve výchozím nastavení pip najde pouze stabilní verze.

Další podrobnosti najdete v úvodu k ukázkům.

Další dokumentace

Podrobnější dokumentaci ke geografické poloze Azure Maps najdete v dokumentaci ke geografické poloze Azure Maps 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 kontaktujte s opencode@microsoft.com případnými dalšími dotazy nebo připomínkami.