Partilhar via


biblioteca cliente do Azure Maps Route Package para Python - versão 1.0.0b1

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

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

Exclusão de Responsabilidade

O apoio aos pacotes Azure SDK Python para python 2.7 terminou em 01 de janeiro de 2022. Para mais informações e perguntas, consulte https://github.com/Azure/azure-sdk-for-python/issues/20691

Introdução

Pré-requisitos

Se utilizar o Azure CLI, substitua <resource-group-name> e <account-name> escolha, e selecione um nível de preços adequado baseado nas suas necessidades através do <sku-name> parâmetro. Consulte esta página para mais detalhes.

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

Instale o pacote

Instale a Azure Maps Service Route SDK.

pip install azure-maps-route

Criar e Autenticar o MapsRouteClient

Para criar um objeto cliente para aceder à API Azure Maps Route, necessitará de um objeto credencial. Azure Maps cliente da Rota também suporta duas formas de autenticação.

1. Autenticar com uma credencial de chave de assinatura

Pode autenticar com a sua Azure Maps Chave de Subscrição. Uma vez criada a Chave de Subscrição Azure Maps, desaprova o valor da chave como variável ambiental: AZURE_SUBSCRIPTION_KEY. Em seguida, passe um AZURE_SUBSCRIPTION_KEY como credential parâmetro para um exemplo de AzureKeyCredential.

from azure.core.credentials import AzureKeyCredential
from azure.maps.route import MapsRouteClient

credential = AzureKeyCredential(os.environ.get("AZURE_SUBSCRIPTION_KEY"))

route_client = MapsRouteClient(
    credential=credential,
)

2. Autenticar com uma credencial Azure Ative Directory

Pode autenticar com credencial de token Azure Ative (AAD) utilizando a biblioteca Azure Identity. A autenticação utilizando o AAD requer alguma configuração inicial:

Após a configuração, pode escolher de que tipo de credencialazure.identity se deve a utilizar. Como exemplo, o DefaultAzureCredential pode ser usado para autenticar o cliente:

Em seguida, definir os valores do ID do cliente, iD do inquilino e segredo de cliente da aplicação AAD como variáveis ambientais: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET

Também terá de especificar o Azure Maps recurso que pretende utilizar especificando as clientId opções do cliente. O id do Azure Maps do cliente de recursos pode ser encontrado nas secções de Autenticação no recurso Azure Maps. Por favor, consulte a documentação sobre como encontrá-la.

from azure.maps.route import MapsRouteClient
from azure.identity import DefaultAzureCredential

credential = DefaultAzureCredential()
route_client = MapsRouteClient(
    client_id="<Azure Maps Client ID>",
    credential=credential
)

Conceitos-chave

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

Clientes sincronizados

MapsRouteClienté o principal cliente para desenvolvedores que usam a biblioteca de clientes Azure Maps Route para Python. Uma vez inicializada uma MapsRouteClient aula, pode explorar os métodos neste objeto do cliente para entender as diferentes características do serviço Azure Maps Route a que pode aceder.

Clientes Async

Esta biblioteca inclui uma API completa assínc suportada em Python 3.5+. Para usá-lo, primeiro deve instalar um transporte de async, como aiohttp. Consulte a documentação do núcleo azul para obter mais informações.

Clientes e credenciais async devem ser fechados quando já não são necessários. Estes objetos são gestores de contexto async e definem métodos async close .

Exemplos

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

Solicitar e Obter Direções de Rota

Este pedido de serviço devolve uma rota entre uma origem e um destino, passando por pontos de passagem se forem especificados. O percurso terá em conta fatores como o tráfego corrente e as velocidades típicas da estrada no dia da semana e hora do dia solicitados.

from azure.maps.route import MapsRouteClient

route_directions_result = client.get_route_directions(route_points=[LatLon(47.60323, -122.33028), LatLon(53.2, -106)]);

Pedido e Obter Rota

Este serviço calculará um conjunto de locais que podem ser alcançados a partir do ponto de origem através de coordenadas dadas e com base no orçamento de combustível, energia, tempo ou distância especificado.

from azure.maps.route import MapsRouteClient

route_range_result = client.get_route_range(coordinates=LatLon(47.60323, -122.33028), time_budget_in_sec=6000);

Obter Matriz de Rota

Se o pedido da Rota Matriz foi aceite com sucesso, o cabeçalho localização na resposta contém o URL para descarregar os resultados do pedido.

Recupera o resultado de um pedido de matriz de rota anterior. O método devolve um poller para recuperar o resultado.

from azure.maps.route import MapsRouteClient

route_matrix_result = client.begin_get_route_matrix_result(matrix_id="11111111-2222-3333-4444-555555555555");

Obter lote de direções de rota

Recupera o resultado de um pedido de lote de direção de rota anterior. O método devolve um poller para recuperar o resultado.

from azure.maps.route import MapsRouteClient

route_directions_batch_poller_result = client.begin_get_route_directions_batch_result(batch_id="11111111-2222-3333-4444-555555555555");

Resolução de problemas

Geral

Os clientes da Maps Route levantam exceções definidas no Azure Core.

Esta lista pode ser utilizada para referência a exceções lançadas às capturas. 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 registar registos. Informações básicas sobre sessões HTTP (URLs, cabeçalhos, etc.) são registadas ao nível info.

A registo detalhado do nível DEBUG, incluindo os órgãos de pedido/resposta e os cabeçalhos não redigidos, pode ser ativado num cliente com o logging_enable argumento:

import sys
import logging
from azure.maps.route import MapsRouteClient

# Create a logger for the 'azure.maps.route' SDK
logger = logging.getLogger('azure.maps.route')
logger.setLevel(logging.DEBUG)

# Configure a console output
handler = logging.StreamHandler(stream=sys.stdout)
logger.addHandler(handler)

Adicionais

Ainda a ter problemas? Se encontrar algum bug ou tiver sugestões, por favor preencha um problema na secção Questões do projeto.

Passos seguintes

Mais código de amostra

Começa com as nossas amostras da Maps Route (amostras da Versão Async).

Várias amostras Azure Maps Route Python SDK estão disponíveis para você no repositório GitHub da SDK. Estas amostras fornecem código de exemplo para cenários adicionais comumente encontrados ao trabalhar com a Rota do Mapa

set AZURE_SUBSCRIPTION_KEY="<RealSubscriptionKey>"

pip install azure-maps-route --pre

python samples/sample_authentication.py
python sample/sample_get_route_range.py
python samples/sample_get_route_directions.py
python samples/sample_request_route_matrix.py
python samples/async_samples/sample_authentication_async.py
python samples/async_samples/sample_get_route_range_async.py
python samples/async_samples/sample_request_route_matrix_async.py
python samples/async_samples/sample_get_route_directions_async.py

Notas: --pre a bandeira pode ser adicionada opcionalmente, é incluir versões de pré-lançamento e desenvolvimento para pip install. Por padrão, pip só encontra versões estáveis.

Mais detalhes por favor consulte a introdução de amostras

Documentação adicional

Para documentação mais extensa sobre Azure Maps Route, consulte a documentação da Rota Azure Maps sobre 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 mais informações consulte o Código de Conduta FAQ ou contacte opencode@microsoft.com com quaisquer perguntas ou comentários adicionais.