Share via


Azure Maps Biblioteca de cliente do Pacote de Composição para Python – versão 1.0.0b2

Este pacote contém um SDK Python para serviços de Azure Maps para Composição. Leia mais sobre os Serviços Azure Maps aqui

Código fonte | Documentação | de referência da APIDocumentação do produto

Exclusão de Responsabilidade

O suporte de pacotes Python do SDK do Azure para Python 2.7 terminou a 01 de janeiro de 2022. Para obter mais informações e perguntas, veja https://github.com/Azure/azure-sdk-for-python/issues/20691

Introdução

Pré-requisitos

Se utilizar a CLI do Azure, substitua <resource-group-name> e <account-name> à sua escolha e selecione um escalão de preço adequado com base nas suas necessidades através do <sku-name> parâmetro . Consulte esta página para obter mais detalhes.

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

Instalar o pacote

Instale o SDK de Composição do Serviço Azure Maps.

pip install azure-maps-render

Criar e Autenticar o MapsRenderClient

Para criar um objeto de cliente para aceder à API de Composição do Azure Maps, precisará de um objeto de credencial. Azure Maps Cliente de composição também suporta duas formas de autenticação.

1. Autenticar com uma Credencial de Chave de Subscrição

Pode autenticar com a chave de subscrição Azure Maps. Assim que a chave de subscrição Azure Maps for criada, defina o valor da chave como variável de ambiente: AZURE_SUBSCRIPTION_KEY. Em seguida, transmita um AZURE_SUBSCRIPTION_KEY como parâmetro credential para uma instância de 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. Autenticar com uma credencial do Azure Active Directory

Pode autenticar com a credencial do token do Azure Active Directory (AAD) com a biblioteca de Identidades do Azure. A autenticação com o AAD requer alguma configuração inicial:

Após a configuração, pode escolher o tipo de credencial a utilizar azure.identity . Por exemplo, DefaultAzureCredential pode ser utilizado para autenticar o cliente:

Em seguida, defina os valores do ID de cliente, do ID do inquilino e do segredo do cliente da aplicação do AAD como variáveis de ambiente: AZURE_CLIENT_ID, , AZURE_TENANT_IDAZURE_CLIENT_SECRET

Também terá de especificar a Azure Maps recurso que pretende utilizar ao especificar o clientId nas opções de cliente. O ID de cliente do recurso Azure Maps pode ser encontrado nas secções Autenticação no recurso Azure Maps. Veja a documentação sobre como encontrá-la.

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

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

Conceitos-chave

A biblioteca de cliente Azure Maps Render para Python permite-lhe interagir com cada um dos componentes através da utilização de um objeto de cliente dedicado.

Sincronizar Clientes

MapsRenderClienté o cliente principal para programadores que utilizam a biblioteca de cliente Azure Maps Render para Python. Depois de inicializar uma MapsRenderClient classe, pode explorar os métodos neste objeto de cliente para compreender as diferentes funcionalidades do serviço Azure Maps Render a que pode aceder.

Clientes Assíncrono

Esta biblioteca inclui uma API assíncrona completa suportada no Python 3.5 e superior. Para utilizá-lo, primeiro tem de instalar um transporte assíncrono, como o aiohttp. Veja a documentação do azure-core para obter mais informações.

Os clientes assíncrono e as credenciais devem ser fechados quando já não forem necessários. Estes objetos são gestores de contexto assíncrono e definem métodos assíncronos close .

Exemplos

As secções seguintes fornecem vários fragmentos de código que abrangem algumas das tarefas mais comuns Azure Maps Render, incluindo:

Obter Atribuição de Mapas

Este pedido permite que os utilizadores solicitem informações de atribuição de direitos de autor de mapa para uma secção de um conjunto de mosaicos.

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

Obter Mosaico mapas

Este pedido irá devolver mosaicos de mapa em formatos de vetor ou raster normalmente para serem integrados num controlo de mapa ou SDK. Alguns mosaicos de exemplo que podem ser pedidos são Azure Maps mosaicos de estrada, mosaicos do Radar meteorológico em tempo real. Por predefinição, Azure Maps utiliza mosaicos de vetor para o respetivo controlo de mapa Web (SDK Web) e 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"
)

Obter Conjunto de Mosaicos do Mapas

Este pedido dará metadados para um conjunto de mosaicos.

from azure.maps.render import MapsRenderClient

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

Obter Imagem Estática do Mapas

Este pedido fornecerá ao serviço de imagem estática uma imagem retangular definida pelo utilizador que contém uma secção de mapa com um nível de zoom de 0 a 20. O serviço de imagens estáticas compõe uma imagem retangular definida pelo utilizador que contém uma secção de mapa com um nível de zoom de 0 a 20. Além disso, guarde o resultado no ficheiro como 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()

Este pedido servirá informações de direitos de autor para o serviço Mosaico de Composição.

from azure.maps.render import MapsRenderClient

result = maps_render_client.get_copyright_for_world()

Resolução de problemas

Geral

Os clientes de Composição do Maps geram exceções definidas no Azure Core.

Esta lista pode ser utilizada para referência para detetar exceções emitidas. Para obter o código de erro específico da exceção, utilize o error_code atributo , ou seja, exception.error_code.

Registo

Esta biblioteca utiliza a biblioteca de registos padrão para registo. As informações básicas sobre sessões HTTP (URLs, cabeçalhos, etc.) são registadas ao nível da INFORMAÇÃO.

O registo detalhado ao nível da DEBUG, incluindo os corpos de pedido/resposta e os cabeçalhos não retotados, pode ser ativado num cliente com o logging_enable argumento :

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)

Adicionais

Ainda está a ter problemas? Se encontrar erros ou tiver sugestões, submeta um problema na secção Problemas do projeto.

Passos seguintes

Mais código de exemplo

Comece a utilizar os nossos exemplos de Composição do Maps (Exemplos de Versão Assíncrona).

Estão disponíveis vários exemplos do SDK Python de Composição de Azure Maps no repositório do GitHub do SDK. Estes exemplos fornecem código de exemplo para cenários adicionais normalmente encontrados ao trabalhar com a Composição do 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

Notas: --pre o sinalizador pode ser adicionado opcionalmente, incluindo versões de pré-lançamento e desenvolvimento para pip installo . Por predefinição, pip encontra apenas versões estáveis.

Para obter mais detalhes, veja Introdução aos Exemplos

Documentação adicional

Para obter documentação mais extensa sobre Azure Maps Render, veja a documentação do Azure Maps Render no docs.microsoft.com.

Contribuir

Agradecemos todas as contribuições e sugestões para este projeto. A maioria das contribuições requerem que celebre um Contrato de Licença de Contribuição (CLA) no qual se declare que tem o direito de conceder e que, na verdade, concede-nos os direitos para utilizar a sua contribuição. Para mais detalhes, visite https://cla.microsoft.com.

Quando submete um pedido Pull, um bot do CLA determina automaticamente se tem de fornecer um CLA e decorar o PR de forma adequada (por exemplo, etiqueta, comentário). Só tem de seguir as instruções fornecidas pelo bot. Apenas terá de fazer isto uma vez em todos os repositórios com o nosso CLA.

Este projeto adotou o Microsoft Open Source Code of Conduct (Código de Conduta do Microsoft Open Source). Para obter mais informações, consulte as FAQ do Código de Conduta ou contacte opencode@microsoft.com com quaisquer perguntas ou comentários adicionais.