Aracılığıyla paylaş


Python için paket istemci kitaplığını Azure Haritalar - sürüm 1.0.0b2

Bu paket, İşleme için Azure Haritalar Hizmetleri için bir Python SDK 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 Hizmeti İşleme SDK'sını yükleyin.

pip install azure-maps-render

MapsRenderClient Oluşturma ve Kimlik Doğrulaması

Azure Haritalar İşleme API'sine erişmek üzere bir istemci nesnesi oluşturmak için bir kimlik bilgisi nesnesi gerekir. Azure Haritalar İşleme 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.render import MapsRenderClient

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

render_client = MapsRenderClient(
    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.render import MapsRenderClient
from azure.identity import DefaultAzureCredential

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

Önemli kavramlar

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

eşitleme istemcileri

MapsRenderClientPython için Azure Haritalar İşleme istemci kitaplığını kullanan geliştiriciler için birincil istemcidir. Bir MapsRenderClient sınıf başlatıldıktan sonra, erişebileceğiniz Azure Haritalar İşleme 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 İşleme görevlerinden bazılarını kapsayan çeşitli kod parçacıkları sağlanır:

Haritalar İlişkilendirmesi Alma

Bu istek, kullanıcıların kutucuk kümesinin bir bölümü için harita telif hakkı ilişkilendirme bilgileri istemesine olanak tanır.

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

Haritalar Kutucuğunu Alma

Bu istek, genellikle bir harita denetimi veya SDK ile tümleştirilecek vektör veya tarama biçimlerindeki harita kutucuklarını döndürür. İstenebilecek bazı örnek kutucuklar Azure Haritalar yol kutucukları, gerçek zamanlı Weather Radar kutucuklarıdır. Varsayılan olarak, Azure Haritalar web haritası denetimi (Web SDK'sı) ve Android SDK'sı için vektör kutucuklarını kullanır.

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

Haritalar Kutucuk kümesi alma

Bu istek bir kutucuk kümesi için meta veriler verir.

from azure.maps.render import MapsRenderClient

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

Haritalar Statik Görüntüsünü Alma

Bu istek, statik görüntü hizmetinin 0 ile 20 arası yakınlaştırma düzeyini kullanarak harita bölümü içeren kullanıcı tanımlı, dikdörtgen bir görüntüyü işlemesini sağlar. Statik görüntü hizmeti, 0 ile 20 arası yakınlaştırma düzeyini kullanarak harita bölümü içeren kullanıcı tanımlı, dikdörtgen bir görüntüyü işler. Ayrıca, sonucu dosyaya png olarak kaydedin.

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

Bu istek, İşleme Kutucuğu hizmeti için telif hakkı bilgilerini sağlayacaktır.

from azure.maps.render import MapsRenderClient

result = maps_render_client.get_copyright_for_world()

Sorun giderme

Genel

Haritalar İşleme istemcileri , Azure Core'da tanımlanan özel durumları oluşturur.

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

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 İşleme örneklerimizi (Zaman Uyumsuz Sürüm örnekleri) kullanmaya başlayın.

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

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

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 İşleme hakkında daha kapsamlı belgeler için docs.microsoft.com Azure Haritalar İşleme 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ınız veya yorumlarınızla iletişime geçin opencode@microsoft.com .