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
- K použití tohoto balíčku se vyžaduje Python 3.7 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 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_KEY
credential
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í:
- 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, 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ů
MapsGeolocationClient
je 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 propip 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.
Azure SDK for Python
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro