Share via


Python için Azure Haritalar Yol Paketi istemci kitaplığı - sürüm 1.0.0b1

Bu paket, Rota için Azure Haritalar Hizmetleri için bir Python SDK'sı içerir. Azure Haritalar Hizmetleri hakkında daha fazla bilgiyi burada bulabilirsiniz

Kaynak kodu | API başvuru belgeleri | Ürün belgeleri

Bildirim

Python 2.7 için Azure SDK Python paketleri desteği 01 Ocak 2022'de sona erdi. Daha fazla bilgi ve soru için lütfen https://github.com/Azure/azure-sdk-for-python/issues/20691

Başlarken

Önkoşullar

Azure CLI kullanıyorsanız ve tercih ettiğinizi değiştirin <resource-group-name><account-name> ve parametresi aracılığıyla <sku-name> gereksinimlerinize göre uygun bir fiyatlandırma katmanı seçin. Daha fazla ayrıntı için lütfen bu sayfaya bakın.

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

Paketi yükleme

Azure Haritalar Service Route SDK'sını yükleyin.

pip install azure-maps-route

MapsRouteClient Oluşturma ve Kimlik Doğrulaması

Azure Haritalar Yönlendirme API'sine erişmek üzere bir istemci nesnesi oluşturmak için bir kimlik bilgisi nesnesi gerekir. Azure Haritalar Yönlendirme istemcisi kimlik doğrulaması için iki yolu da destekler.

1. Abonelik Anahtarı Kimlik Bilgileriyle Kimlik Doğrulaması

Azure Haritalar Abonelik Anahtarınızla kimlik doğrulaması yapabilirsiniz. Azure Haritalar Abonelik Anahtarı oluşturulduktan sonra anahtarın değerini ortam değişkeni olarak ayarlayın: AZURE_SUBSCRIPTION_KEY. Ardından parametresi AZURE_SUBSCRIPTION_KEY olarak credentialazurekeycredential örneğine geçirin.

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. Azure Active Directory kimlik bilgileriyle kimlik doğrulaması

Azure Kimlik kitaplığını kullanarak Azure Active Directory (AAD) belirteci kimlik bilgileriyle kimlik doğrulaması yapabilirsiniz. AAD kullanarak kimlik doğrulaması için bazı ilk kurulumlar gerekir:

Kurulumdan sonra, hangi kimlik bilgisiazure.identity türünü kullanacağınızı seçebilirsiniz. Örneğin, istemcinin kimliğini doğrulamak için DefaultAzureCredential kullanılabilir:

Ardından, AAD uygulamasının istemci kimliği, kiracı kimliği ve istemci gizli dizisi değerlerini ortam değişkenleri olarak ayarlayın: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET

İstemci seçeneklerinde öğesini belirterek kullanmayı planladığınız Azure Haritalar kaynağını da belirtmeniz clientId gerekir. Azure Haritalar kaynak istemci kimliği, Azure Haritalar kaynağındaki Kimlik Doğrulaması bölümlerinde bulunabilir. Lütfen nasıl bulabileceğinize ilişkin belgelere bakın.

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

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

Önemli kavramlar

Python için Azure Haritalar Yönlendirme istemci kitaplığı, ayrılmış bir istemci nesnesi kullanarak bileşenlerin her biriyle etkileşim kurmanızı sağlar.

eşitleme istemcileri

MapsRouteClientPython için Azure Haritalar Yönlendirme istemci kitaplığını kullanan geliştiriciler için birincil istemcidir. Bir MapsRouteClient sınıf başlatıldıktan sonra, erişebileceğiniz Azure Haritalar Route hizmetinin farklı özelliklerini anlamak için bu istemci nesnesinde yöntemleri keşfedebilirsiniz.

Zaman Uyumsuz İstemciler

Bu kitaplık, Python 3.5+ üzerinde desteklenen tam bir zaman uyumsuz API içerir. Bunu kullanmak için önce aiohttp gibi bir zaman uyumsuz aktarım yüklemeniz gerekir. Daha fazla bilgi için bkz. azure-core belgeleri .

Zaman uyumsuz istemciler ve kimlik bilgileri artık gerekli olmadığında kapatılmalıdır. Bu nesneler zaman uyumsuz bağlam yöneticileridir ve zaman uyumsuz close yöntemler tanımlar.

Örnekler

Aşağıdaki bölümlerde, en yaygın Azure Haritalar Yol görevlerinden bazılarını kapsayan çeşitli kod parçacıkları sağlanır:

İstek ve Yol Tariflerini Alma

Bu hizmet isteği, bir kaynak ile hedef arasında, belirtilmişse yol noktalarından geçen bir yol döndürür. Rota, geçerli trafik ve istenen haftanın günü ve günün saati üzerindeki tipik yol hızları gibi faktörleri dikkate alacaktır.

from azure.maps.route import MapsRouteClient

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

rota aralığını isteme ve alma

Bu hizmet, verilen koordinatlarla ve belirtilen yakıt, enerji, zaman veya mesafe bütçesine göre çıkış noktasından ulaşabileceğiniz bir konum kümesini hesaplar.

from azure.maps.route import MapsRouteClient

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

Rota Matrisi Alma

Matris Yolu isteği başarıyla kabul edildiyse, yanıttaki Konum üst bilgisi isteğin sonuçlarını indirme URL'sini içerir.

Önceki bir yol matrisi isteğinin sonucunu alır. yöntemi sonucu almak için bir poller döndürür.

from azure.maps.route import MapsRouteClient

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

Yol Tarifleri Toplu İşlemi Alma

Önceki yol yönü toplu iş isteğinin sonucunu alır. yöntemi sonucu almak için bir poller döndürür.

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

Sorun giderme

Genel

Haritalar Yol istemcileri , Azure Core'da tanımlanan özel durumları tetikler.

Bu liste, atılan özel durumları yakalamak için başvuru için kullanılabilir. Özel durumun belirli hata kodunu almak için özniteliğini error_code (örneğin, exception.error_code) kullanın.

Günlüğe Kaydetme

Bu kitaplık, günlüğe kaydetme için standart günlük kitaplığını kullanır. HTTP oturumlarıyla ilgili temel bilgiler (URL'ler, üst bilgiler vb.) BİlGİ düzeyinde günlüğe kaydedilir.

İstek/yanıt gövdeleri ve kaydedilmemiş üst bilgiler de dahil olmak üzere ayrıntılı HATA AYıKLAMA düzeyi günlüğe kaydetme, bir istemcide şu bağımsız değişkenle logging_enable etkinleştirilebilir:

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)

Ek

Hala sorunlarla mı karşılaşılıyor? Herhangi bir hatayla karşılaşırsanız veya önerileriniz varsa, lütfen projenin Sorunlar bölümünde bir sorun oluşturun.

Sonraki adımlar

Daha fazla örnek kod

Haritalar Yol örneklerimizi (Zaman Uyumsuz Sürüm örnekleri) kullanmaya başlayın.

SDK'nın GitHub deposunda birkaç Azure Haritalar Yönlendirme Python SDK'sı örneği bulabilirsiniz. Bu örnekler, Haritalar Rotası ile çalışırken yaygın olarak karşılaşılan ek senaryolar için örnek kod sağlar

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

Notlar: --pre bayrağı isteğe bağlı olarak eklenebilir; için yayın öncesi ve geliştirme sürümlerini eklemektir pip install. Varsayılan olarak, pip yalnızca kararlı sürümleri bulur.

Daha ayrıntılı bilgi için bkz. Örneklere Giriş

Diğer belgeler

Azure Haritalar Route hakkında daha kapsamlı belgeler için docs.microsoft.com Azure Haritalar Yol belgelerine bakın.

Katkıda bulunma

Bu proje, katkı ve önerilere açıktır. Çoğu durumda, sağladığınız katkıyı kullanmamız için bize hak tanıma hakkına sahip olduğunuzu ve bu hakkı bize tanıdığınızı bildiren bir Katkıda Bulunan Lisans Sözleşmesi’ni (CLA) kabul etmeniz gerekir. Ayrıntılar için bkz. https://cla.microsoft.com.

Bir çekme isteği gönderdiğinizde, CLA robotu bir CLA sağlamanız gerekip gerekmediğini otomatik olarak belirler ve çekme isteğini uygun şekilde donatır (örn. etiket, açıklama). Robot tarafından sağlanan yönergeleri izlemeniz yeterlidir. Bu işlemi, CLA’mızı kullanarak tüm depolarda yalnızca bir kere yapmanız gerekir.

Bu proje Microsoft Open Source Code of Conduct (Microsoft Açık Kaynak Kullanım Kuralları) belgesinde listelenen kurallara uygundur. Daha fazla bilgi için Kullanım Kuralları SSS bölümüne bakın veya ek sorular veya yorumlarla iletişime geçin opencode@microsoft.com .