Azure Maps bibliothèque cliente de package de rendu pour Python - version 1.0.0b2

Ce package contient un Kit de développement logiciel (SDK) Python pour Azure Maps Services pour render. En savoir plus sur Azure Maps Services ici

| Code sourceDocumentation de référence sur les | APIDocumentation produit

Clause d’exclusion de responsabilité

La prise en charge des packages Python du SDK Azure pour Python 2.7 a pris fin le 1er janvier 2022. Pour obtenir plus d’informations et poser des questions, reportez-vous à https://github.com/Azure/azure-sdk-for-python/issues/20691

Prise en main

Prérequis

Si vous utilisez Azure CLI, remplacez <resource-group-name> et <account-name> de votre choix, puis sélectionnez un niveau tarifaire approprié en fonction de vos besoins via le <sku-name> paramètre . Pour plus d’informations, consultez cette page.

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

Installer le package

Installez le Kit de développement logiciel (SDK) Service Render Azure Maps.

pip install azure-maps-render

Créer et authentifier mapsRenderClient

Pour créer un objet client afin d’accéder à l’API Render Azure Maps, vous avez besoin d’un objet d’informations d’identification. Azure Maps client Render prend également en charge deux méthodes d’authentification.

1. S’authentifier avec des informations d’identification de clé d’abonnement

Vous pouvez vous authentifier avec votre clé d’abonnement Azure Maps. Une fois la clé d’abonnement Azure Maps créée, définissez la valeur de la clé comme variable d’environnement : AZURE_SUBSCRIPTION_KEY. Passez ensuite un AZURE_SUBSCRIPTION_KEY en tant que credential paramètre dans un instance d’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. S’authentifier avec des informations d’identification Azure Active Directory

Vous pouvez vous authentifier avec les informations d’identification de jeton Azure Active Directory (AAD) à l’aide de la bibliothèque Azure Identity. L’authentification à l’aide d’AAD nécessite une configuration initiale :

Après l’installation, vous pouvez choisir le type d’informations d’identificationazure.identity à utiliser. Par exemple, DefaultAzureCredential peut être utilisé pour authentifier le client :

Ensuite, définissez les valeurs de l’ID client, de l’ID de locataire et de la clé secrète client de l’application AAD en tant que variables d’environnement : AZURE_CLIENT_ID, AZURE_TENANT_ID, , AZURE_CLIENT_SECRET

Vous devez également spécifier la ressource Azure Maps que vous envisagez d’utiliser en spécifiant dans clientId les options du client. L’ID client de ressource Azure Maps se trouve dans les sections Authentification de la ressource Azure Maps. Reportez-vous à la documentation pour savoir comment le trouver.

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

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

Concepts clés

La bibliothèque cliente render Azure Maps pour Python vous permet d’interagir avec chacun des composants via l’utilisation d’un objet client dédié.

Synchroniser les clients

MapsRenderClientest le client principal pour les développeurs qui utilisent la bibliothèque de client render Azure Maps pour Python. Une fois que vous avez initialisé une MapsRenderClient classe, vous pouvez explorer les méthodes de cet objet client pour comprendre les différentes fonctionnalités du service Render Azure Maps auquel vous pouvez accéder.

Clients asynchrones

Cette bibliothèque inclut une API asynchrone complète prise en charge sur Python 3.5+. Pour l’utiliser, vous devez d’abord installer un transport asynchrone, tel que aiohttp. Pour plus d’informations, consultez la documentation azure-core .

Les clients et les informations d’identification asynchrones doivent être fermés lorsqu’ils ne sont plus nécessaires. Ces objets sont des gestionnaires de contexte asynchrones et définissent des méthodes asynchrones close .

Exemples

Les sections suivantes fournissent plusieurs extraits de code couvrant certaines des tâches de rendu Azure Maps les plus courantes, notamment :

Obtenir l’attribution de cartes

Cette demande permet aux utilisateurs de demander des informations d’attribution de droits d’auteur de carte pour une section d’un ensemble de vignettes.

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

Vignette Obtenir des cartes

Cette demande retourne des vignettes de carte dans des formats vectoriels ou raster généralement à intégrer dans un contrôle de carte ou un SDK. Voici quelques exemples de vignettes qui peuvent être demandées Azure Maps les vignettes routières, les vignettes Radar météo en temps réel. Par défaut, Azure Maps utilise des vignettes vectorielles pour son contrôle de carte web (SDK Web) et le SDK Android.

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

Obtenir des vignettes maps

Cette demande donnera des métadonnées pour un ensemble de vignettes.

from azure.maps.render import MapsRenderClient

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

Obtenir une image statique de mappages

Cette demande fournit le service d’image statique qui restitue une image rectangulaire définie par l’utilisateur contenant une section de carte à l’aide d’un niveau de zoom de 0 à 20. Le service d’image statique affiche une image rectangulaire définie par l’utilisateur contenant une section de carte à l’aide d’un niveau de zoom de 0 à 20. Et enregistrez également le résultat dans le fichier en tant que 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()

Cette demande traitera les informations de copyright pour le service Render Tile.

from azure.maps.render import MapsRenderClient

result = maps_render_client.get_copyright_for_world()

Dépannage

Général

Les clients de rendu de mappages déclenchent des exceptions définies dans Azure Core.

Cette liste peut être utilisée à des fins de référence pour intercepter les exceptions levées. Pour obtenir le code d’erreur spécifique de l’exception, utilisez l’attribut error_code , exception.error_codec’est-à-dire .

Journalisation

Cette bibliothèque utilise la bibliothèque de journalisation standard pour la journalisation. Les informations de base sur les sessions HTTP (URL, en-têtes, etc.) sont enregistrées au niveau INFO.

La journalisation détaillée au niveau DEBUG, y compris les corps de requête/réponse et les en-têtes non expurgés, peut être activée sur un client avec l’argument 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)

Informations supplémentaires

Vous rencontrez toujours des problèmes ? Si vous rencontrez des bogues ou si vous avez des suggestions, signalez un problème dans la section Problèmes du projet.

Étapes suivantes

Autres exemples de code

Prise en main de nos exemples de rendu de cartes (exemples de version asynchrone).

Plusieurs exemples Azure Maps Render Python SDK sont disponibles dans le dépôt GitHub du SDK. Ces exemples fournissent un exemple de code pour d’autres scénarios couramment rencontrés lors de l’utilisation du rendu maps

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

Remarques : --pre l’indicateur peut être ajouté éventuellement. Il s’agit d’inclure les versions de préversion et de développement pour pip install. Par défaut, pip recherche uniquement les versions stables.

Pour plus d’informations, reportez-vous à La présentation des exemples

Documentation complémentaire

Pour obtenir une documentation plus complète sur Azure Maps Render, consultez la documentation render Azure Maps sur docs.microsoft.com.

Contribution

Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez réellement, les droits d’utilisation de votre contribution. Pour plus d’informations, visitez https://cla.microsoft.com.

Quand vous envoyez une demande de tirage (pull request), un bot CLA détermine automatiquement si vous devez fournir un contrat CLA et agrémenter la demande de tirage de façon appropriée (par exemple, avec une étiquette ou un commentaire). Suivez simplement les instructions fournies par le bot. Vous ne devez effectuer cette opération qu’une seule fois sur tous les dépôts utilisant notre contrat CLA.

Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.