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
- Bu paketi kullanmak için Python 3.7 veya üzeri gereklidir.
- Azure aboneliği ve Azure Haritalar hesabı.
- Dağıtılmış bir Haritalar Hizmetleri kaynağı. Kaynağı Azure Portal veya Azure CLI aracılığıyla oluşturabilirsiniz.
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 credential
azurekeycredential ö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:
- azure-identity'yi yükleme
- Yeni bir AAD uygulaması kaydetme
- Hizmet sorumlunuza uygun rolü atayarak Azure Haritalar erişim izni verin. Lütfen Kimlik doğrulamasını yönetme sayfasına bakın.
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
MapsRenderClient
Python 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
- Haritalar Statik Görüntüsünü Alma
- Haritalar Kutucuğunu Alma
- Haritalar Kutucuk kümesi alma
- Dünya için Haritalar Telif Hakkı Alma
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()
Dünya için Haritalar Telif Hakkı Alma
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 eklemektirpip 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 .
Azure SDK for Python