Condividi tramite


Mappe di Azure libreria client del pacchetto di rendering per Python - versione 1.0.0b2

Questo pacchetto contiene un SDK Python per i servizi di Mappe di Azure per il rendering. Altre informazioni sui servizi Mappe di Azure qui

Codice | sorgenteDocumentazione di | riferimento sulle APIDocumentazione del prodotto

Dichiarazione di non responsabilità

Il supporto dei pacchetti Python di Azure SDK per Python 2.7 è terminato 01 gennaio 2022. Per altre informazioni e domande, vedere https://github.com/Azure/azure-sdk-for-python/issues/20691

Introduzione

Prerequisiti

Se si usa l'interfaccia della riga di comando di Azure, sostituire <resource-group-name> e <account-name> scegliere un piano tariffario appropriato in base alle esigenze tramite il <sku-name> parametro . Per altre informazioni, vedere questa pagina .

az maps account create --resource-group <resource-group-name> --account-name <account-name> --sku <sku-name>

Installare il pacchetto

Installare l'SDK di rendering del servizio Mappe di Azure.

pip install azure-maps-render

Creare ed autenticare MapsRenderClient

Per creare un oggetto client per accedere all'API di rendering Mappe di Azure, sarà necessario un oggetto credenziale. Mappe di Azure client di rendering supportano anche due modi per eseguire l'autenticazione.

1. Eseguire l'autenticazione con una credenziale della chiave di sottoscrizione

È possibile eseguire l'autenticazione con la chiave di sottoscrizione Mappe di Azure. Dopo aver creato la chiave di sottoscrizione Mappe di Azure, impostare il valore della chiave come variabile di ambiente: AZURE_SUBSCRIPTION_KEY. Passare quindi come AZURE_SUBSCRIPTION_KEY parametro in un'istanza credential di 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. Eseguire l'autenticazione con una credenziale di Azure Active Directory

È possibile eseguire l'autenticazione con le credenziali del token di Azure Active Directory (AAD) usando la libreria di identità di Azure. L'autenticazione tramite AAD richiede una configurazione iniziale:

Dopo la configurazione, è possibile scegliere quale tipo di credenziale da azure.identity usare. Ad esempio, DefaultAzureCredential può essere usato per autenticare il client:

Impostare quindi i valori dell'ID client, dell'ID tenant e del segreto client dell'applicazione AAD come variabili di ambiente: AZURE_CLIENT_ID, , AZURE_TENANT_IDAZURE_CLIENT_SECRET

È anche necessario specificare la risorsa Mappe di Azure che si intende usare specificando le clientId opzioni del client. L'ID client della risorsa Mappe di Azure è disponibile nelle sezioni Autenticazione nella risorsa Mappe di Azure. Per informazioni su come trovarlo, vedere la documentazione .

from azure.maps.render import MapsRenderClient
from azure.identity import DefaultAzureCredential

credential = DefaultAzureCredential()
render_client = MapsRenderClient(
    client_id="<Azure Maps Client ID>",
    credential=credential
)

Concetti chiave

La libreria client di rendering Mappe di Azure per Python consente di interagire con ognuno dei componenti tramite l'uso di un oggetto client dedicato.

Client di sincronizzazione

MapsRenderClientè il client principale per gli sviluppatori che usano la libreria client di rendering Mappe di Azure per Python. Dopo aver inizializzato una MapsRenderClient classe, è possibile esplorare i metodi in questo oggetto client per comprendere le diverse funzionalità del servizio di rendering Mappe di Azure a cui è possibile accedere.

Client asincroni

Questa libreria include un'API asincrona completa supportata in Python 3.5+. Per usarlo, è prima necessario installare un trasporto asincrono, ad esempio aiohttp. Per altre informazioni, vedere la documentazione di azure-core .

I client e le credenziali asincroni devono essere chiusi quando non sono più necessari. Questi oggetti sono gestioni contesto asincrone e definiscono metodi asincroni close .

Esempio

Le sezioni seguenti forniscono diversi frammenti di codice che coprono alcune delle attività di rendering più comuni Mappe di Azure, tra cui:

Ottenere l'attribuzione di Mappe

Questa richiesta consente agli utenti di richiedere informazioni sull'attribuzione del copyright per una sezione di un set di riquadri.

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
    )
)

Ottenere il riquadro mappe

Questa richiesta restituirà riquadri mappa nei formati vettoriali o raster in genere da integrare in un controllo mappa o in un SDK. Alcuni riquadri di esempio che possono essere richiesti sono Mappe di Azure riquadri stradali, riquadri meteo in tempo reale. Per impostazione predefinita, Mappe di Azure usa riquadri vettoriali per il controllo mappa Web (Web SDK) e 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"
)

Ottenere il set di riquadri di Mappe

Questa richiesta darà metadati per un set di riquadri.

from azure.maps.render import MapsRenderClient

result = maps_render_client.get_map_tileset(tileset_id=TilesetID.MICROSOFT_BASE)

Ottenere l'immagine statica di Mappe

Questa richiesta fornirà il servizio immagine statico esegue il rendering di un'immagine rettangolare definita dall'utente contenente una sezione della mappa usando un livello di zoom compreso tra 0 e 20. Il servizio immagini statiche esegue il rendering di un'immagine rettangolare definita dall'utente contenente una sezione mappa usando un livello di zoom compreso tra 0 e 20. E salvare anche il risultato in file come 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()

Questa richiesta serve informazioni sul copyright per il servizio Riquadro di rendering.

from azure.maps.render import MapsRenderClient

result = maps_render_client.get_copyright_for_world()

Risoluzione dei problemi

Generale

I client di rendering di Mappe generano eccezioni definite in Azure Core.

Questo elenco può essere usato per riferimento per rilevare le eccezioni generate. Per ottenere il codice di errore specifico dell'eccezione, usare l'attributo error_code , ad esempio exception.error_code.

Registrazione

Questa libreria usa la libreria di registrazione standard per la registrazione. Le informazioni di base sulle sessioni HTTP (URL, intestazioni e così via) vengono registrate a livello di INFO.

La registrazione dettagliata del livello DEBUG, inclusi i corpi di richiesta/risposta e le intestazioni non attendibili, può essere abilitata in un client con l'argomento logging_enable :

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)

Altro

Problemi ancora in corso? Se si verificano bug o suggerimenti, segnalare un problema nella sezione Problemi del progetto.

Passaggi successivi

Altro codice di esempio

Introduzione agli esempi di rendering di Mappe (esempi di versione asincrona).

Sono disponibili diversi esempi di Python SDK di rendering Mappe di Azure nel repository GitHub dell'SDK. Questi esempi forniscono codice di esempio per scenari aggiuntivi comunemente rilevati durante l'uso del rendering di Mappe

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

Note: --pre il flag può essere aggiunto facoltativamente, è includere versioni non definitive e di sviluppo per pip install. Per impostazione predefinita, pip trova solo versioni stabili.

Ulteriori dettagli sono disponibili nell'introduzione agli esempi

Documentazione aggiuntiva

Per una documentazione più completa sul rendering Mappe di Azure, vedere la documentazione relativa al rendering Mappe di Azure su docs.microsoft.com.

Contributo

In questo progetto sono benvenuti i contributi e i suggerimenti. Per la maggior parte dei contenuti è necessario sottoscrivere un contratto di licenza di collaborazione (CLA, Contributor License Agreement) che stabilisce che l'utente ha il diritto di concedere, e di fatto concede a Microsoft i diritti d'uso del suo contributo. Per informazioni dettagliate, vedere https://cla.microsoft.com.

Quando si invia una richiesta pull, un bot CLA determina automaticamente se è necessario specificare un contratto CLA e completare la richiesta pull in modo appropriato (ad esempio con un'etichetta e un commento). Seguire le istruzioni specificate dal bot. È sufficiente eseguire questa operazione una sola volta per tutti i repository che usano il contratto CLA Microsoft.

Questo progetto ha adottato il Codice di comportamento di Microsoft per l'open source. Per altre informazioni, vedere Code of Conduct FAQ (Domande frequenti sul Codice di comportamento Open Source di Microsoft) oppure contattare opencode@microsoft.com per eventuali altre domande o commenti.