Azure Maps Render Package-klientbibliotek för Python – version 1.0.0b2
Det här paketet innehåller en Python SDK för Azure Maps Services for Render. Läs mer om Azure Maps Services här
Källkod | API-referensdokumentation | Produktdokumentation
Friskrivning
Stöd för Azure SDK Python-paket för Python 2.7 har upphört den 1 januari 2022. Mer information och frågor finns i https://github.com/Azure/azure-sdk-for-python/issues/20691
Komma igång
Förutsättningar
- Python 3.7 eller senare krävs för att använda det här paketet.
- En Azure-prenumeration och ett Azure Maps konto.
- En distribuerad Maps Services-resurs. Du kan skapa resursen via Azure-portalen eller Azure CLI.
Om du använder Azure CLI ersätter <resource-group-name>
och <account-name>
väljer du en lämplig prisnivå baserat på dina behov via parametern <sku-name>
. Mer information finns på den här sidan .
az maps account create --resource-group <resource-group-name> --account-name <account-name> --sku <sku-name>
Installera paketet
Installera Azure Maps Service Render SDK.
pip install azure-maps-render
Skapa och autentisera MapsRenderClient
Om du vill skapa ett klientobjekt för att komma åt Azure Maps Render-API:et behöver du ett autentiseringsobjekt. Azure Maps Render-klienten stöder också två sätt att autentisera.
1. Autentisera med en prenumerationsnyckelautentiseringsuppgift
Du kan autentisera med din Azure Maps-prenumerationsnyckel.
När Azure Maps prenumerationsnyckel har skapats anger du värdet för nyckeln som miljövariabel: AZURE_SUBSCRIPTION_KEY
.
Skicka sedan en AZURE_SUBSCRIPTION_KEY
som credential
parameter till en instans av AzureKeyCredential.
from azure.core.credentials import AzureKeyCredential
from azure.maps.render import MapsRenderClient
credential = AzureKeyCredential(os.environ.get("AZURE_SUBSCRIPTION_KEY"))
render_client = MapsRenderClient(
credential=credential,
)
2. Autentisera med en Azure Active Directory-autentiseringsuppgift
Du kan autentisera med AAD-tokenautentiseringsuppgifter (Azure Active Directory) med hjälp av Azure Identity-biblioteket. Autentisering med hjälp av AAD kräver viss inledande konfiguration:
- Installera azure-identity
- Registrera ett nytt AAD-program
- Bevilja åtkomst till Azure Maps genom att tilldela lämplig roll till tjänstens huvudnamn. Se sidan Hantera autentisering.
Efter installationen kan du välja vilken typ av autentiseringsuppgifter du azure.identity
vill använda.
Till exempel kan DefaultAzureCredential användas för att autentisera klienten:
Ange sedan värdena för klient-ID, klient-ID och klienthemlighet för AAD-programmet som miljövariabler: AZURE_CLIENT_ID
, AZURE_TENANT_ID
, AZURE_CLIENT_SECRET
Du måste också ange den Azure Maps resurs som du tänker använda genom att clientId
ange i klientalternativen. Det Azure Maps resursklient-ID:t finns i avsnitten Autentisering i den Azure Maps resursen. Läs dokumentationen om hur du hittar den.
from azure.maps.render import MapsRenderClient
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
render_client = MapsRenderClient(
client_id="<Azure Maps Client ID>",
credential=credential
)
Viktiga begrepp
Med Azure Maps Render-klientbiblioteket för Python kan du interagera med var och en av komponenterna med hjälp av ett dedikerat klientobjekt.
Synkronisera klienter
MapsRenderClient
är den primära klienten för utvecklare som använder klientbiblioteket Azure Maps Render för Python.
När du har initierat en MapsRenderClient
klass kan du utforska metoderna i det här klientobjektet för att förstå de olika funktionerna i Azure Maps Render-tjänsten som du kan komma åt.
Async-klienter
Det här biblioteket innehåller ett fullständigt asynkront API som stöds i Python 3.5+. Om du vill använda den måste du först installera en asynkron transport, till exempel aiohttp. Mer information finns i dokumentationen om azure-core .
Asynkrona klienter och autentiseringsuppgifter bör stängas när de inte längre behövs. Dessa objekt är asynkrona kontexthanterare och definierar asynkrona close
metoder.
Exempel
Följande avsnitt innehåller flera kodfragment som täcker några av de vanligaste Azure Maps Rendera uppgifter, inklusive:
- Hämta maps-attribution
- Hämta statisk maps-avbildning
- Panelen Hämta kartor
- Hämta kartpaneler
- Hämta kartor copyright för världen
Hämta maps-attribution
Den här begäran gör det möjligt för användare att begära mappning av upphovsrättstilldelningsinformation för ett avsnitt i en paneluppsättning.
from azure.maps.render import MapsRenderClient
result = maps_render_client.get_map_attribution(
tileset_id=TilesetID.MICROSOFT_BASE,
zoom=6,
bounds=BoundingBox(
south=42.982261,
west=24.980233,
north=56.526017,
east=1.355233
)
)
Panelen Hämta kartor
Den här begäran returnerar kartpaneler i vektor- eller rasterformat som vanligtvis ska integreras i en kartkontroll eller SDK. Några exempelpaneler som kan begäras är Azure Maps vägpaneler, väderradarpaneler i realtid. Som standard använder Azure Maps vektorpaneler för webbkartkontrollen (Web SDK) och Android SDK.
from azure.maps.render import MapsRenderClient
result = maps_render_client.get_map_tile(
tileset_id=TilesetID.MICROSOFT_BASE,
z=6,
x=9,
y=22,
tile_size="512"
)
Hämta kartpaneler
Den här begäran ger metadata för en paneluppsättning.
from azure.maps.render import MapsRenderClient
result = maps_render_client.get_map_tileset(tileset_id=TilesetID.MICROSOFT_BASE)
Hämta statisk maps-avbildning
Den här begäran ger den statiska bildtjänsten en användardefinierad, rektangulär bild som innehåller ett kartavsnitt med hjälp av en zoomningsnivå från 0 till 20. Tjänsten för statiska bilder återger en användardefinierad, rektangulär bild som innehåller ett kartavsnitt med hjälp av en zoomningsnivå från 0 till 20. Och spara även resultatet i filen som png.
from azure.maps.render import MapsRenderClient
result = maps_render_client.get_map_static_image(img_format="png", center=(52.41064,4.84228))
# Save result to file as png
file = open('result.png', 'wb')
file.write(next(result))
file.close()
Hämta kartor copyright för världen
Den här begäran kommer att tillhandahålla upphovsrättsinformation för rendera paneltjänsten.
from azure.maps.render import MapsRenderClient
result = maps_render_client.get_copyright_for_world()
Felsökning
Allmänt
Maps Render-klienter genererar undantag som definierats i Azure Core.
Den här listan kan användas som referens för att fånga undantag som genereras. Om du vill hämta den specifika felkoden för undantaget använder du error_code
attributet, t.ex. exception.error_code
.
Loggning
Det här biblioteket använder standardloggningsbiblioteket för loggning. Grundläggande information om HTTP-sessioner (URL:er, rubriker osv.) loggas på INFO-nivå.
Detaljerad loggning på FELSÖKNINGsnivå, inklusive begärande-/svarskroppar och oredigerade huvuden, kan aktiveras på en klient med logging_enable
argumentet :
import sys
import logging
from azure.maps.render import MapsRenderClient
# Create a logger for the 'azure.maps.render' SDK
logger = logging.getLogger('azure.maps.render')
logger.setLevel(logging.DEBUG)
# Configure a console output
handler = logging.StreamHandler(stream=sys.stdout)
logger.addHandler(handler)
Ytterligare
Stöter du fortfarande på problem? Om du stöter på buggar eller har förslag kan du ange ett problem i avsnittet Problem i projektet.
Nästa steg
Mer exempelkod
Kom igång med våra Maps Render-exempel (Async-versionsexempel).
Flera Azure Maps Rendera Python SDK-exempel är tillgängliga för dig på SDK:s GitHub-lagringsplats. De här exemplen innehåller exempelkod för ytterligare scenarier som ofta påträffas när du arbetar med Maps Render
set AZURE_SUBSCRIPTION_KEY="<RealSubscriptionKey>"
pip install azure-maps-render --pre
python samples/sample_authentication.py
python sample/sample_get_copyright_caption.py
python sample/sample_get_copyright_for_tile.py
python sample/sample_get_copyright_for_world.py
python sample/sample_get_copyright_from_bounding_box.py
python sample/sample_get_map_attribution.py
python sample/sample_get_map_static_image.py
python sample/sample_get_map_tile.py
python sample/sample_get_map_tileset.py
Anmärkningar:
--pre
flaggan kan läggas till om du vill, det är att inkludera förhandsversioner och utvecklingsversioner förpip install
. Som standardpip
hittar endast stabila versioner.
Mer information finns i Exempelintroduktion
Ytterligare dokumentation
Mer omfattande dokumentation om Azure Maps Render finns i Azure Maps Render-dokumentationen på docs.microsoft.com.
Bidra
Det här projektet välkomnar bidrag och förslag. Merparten av bidragen kräver att du godkänner ett licensavtal för bidrag, där du deklarerar att du har behörighet att bevilja oss rättigheten att använda ditt bidrag, och att du dessutom uttryckligen gör så. Mer information finns på https://cla.microsoft.com.
När du skickar en pull-förfrågan avgör en CLA-robot automatiskt om du måste tillhandahålla ett licensavtal för bidrag med lämplig PR (t.ex. etikett eller kommentar). Följ bara robotens anvisningar. Du behöver bara göra detta en gång för alla repor som använder vårt licensavtal för bidrag.
Det här projektet använder sig av Microsofts uppförandekod för öppen källkod. Mer information finns i Vanliga frågor och svar om uppförandekod eller kontakt opencode@microsoft.com med ytterligare frågor eller kommentarer.
Azure SDK for Python
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för