pustaka klien Paket Geolokasi Azure Maps untuk Python - versi 1.0.0b1
Paket ini berisi Python SDK untuk layanan Azure Maps untuk Geolokasi. Baca selengkapnya tentang Layanan Azure Maps di sini
Kode sumber | Dokumentasi | referensi API Dokumentasi produk
Pengelakan
Dukungan paket Azure SDK Python untuk Python 2.7 telah berakhir 01 Januari 2022. Untuk informasi dan pertanyaan lebih lanjut, silakan merujuk ke https://github.com/Azure/azure-sdk-for-python/issues/20691
Memulai
Prasyarat
- Python 3.7 atau yang lebih baru diharuskan untuk menggunakan paket ini.
- Langganan Azure dan akun Azure Maps.
- Sumber daya Layanan Maps yang disebarkan. Anda dapat membuat sumber daya melalui Portal Microsoft Azure atau Azure CLI.
Jika Anda menggunakan Azure CLI, ganti <resource-group-name>
dan <account-name>
pilihan Anda, dan pilih tingkat harga yang tepat berdasarkan kebutuhan Anda melalui <sku-name>
parameter . Harap tinjau halaman ini untuk detail selengkapnya.
az maps account create --resource-group <resource-group-name> --account-name <account-name> --sku <sku-name>
Instal paketnya
Instal SDK Geolokasi Layanan Azure Maps.
pip install azure-maps-geolocation
Membuat dan Mengautentikasi MapsGeolocationClient
Untuk membuat objek klien untuk mengakses AZURE MAPS Geolocation API, Anda memerlukan objek kredensial. Azure Maps klien Geolokasi juga mendukung dua cara untuk mengautentikasi.
1. Mengautentikasi dengan Kredensial Kunci Langganan
Anda dapat mengautentikasi dengan Kunci Langganan Azure Maps Anda.
Setelah Kunci Langganan Azure Maps dibuat, atur nilai kunci sebagai variabel lingkungan: AZURE_SUBSCRIPTION_KEY
.
Kemudian teruskan AZURE_SUBSCRIPTION_KEY
credential
sebagai parameter ke dalam instans AzureKeyCredential.
from azure.core.credentials import AzureKeyCredential
from azure.maps.geolocation import MapsGeolocationClient
credential = AzureKeyCredential(os.environ.get("AZURE_SUBSCRIPTION_KEY"))
geolocation_client = MapsGeolocationClient(
credential=credential,
)
2. Mengautentikasi dengan kredensial Azure Active Directory
Anda dapat mengautentikasi dengan kredensial token Azure Active Directory (AAD) menggunakan pustaka Azure Identity. Autentikasi dengan menggunakan AAD memerlukan beberapa penyiapan awal:
- Menginstal azure-identity
- Mendaftarkan aplikasi AAD baru
- Berikan akses ke Azure Maps dengan menetapkan peran yang sesuai untuk perwakilan layanan Anda. Silakan lihat halaman Kelola autentikasi.
Setelah penyiapan, Anda dapat memilih jenis kredensialazure.identity
mana yang akan digunakan.
Sebagai contoh, DefaultAzureCredential dapat digunakan untuk mengautentikasi klien:
Selanjutnya, atur nilai ID klien, ID penyewa, dan rahasia klien aplikasi AAD sebagai variabel lingkungan: AZURE_CLIENT_ID
, , AZURE_TENANT_ID
AZURE_CLIENT_SECRET
Anda juga perlu menentukan sumber daya Azure Maps yang ingin Anda gunakan dengan menentukan clientId
di opsi klien. Id klien sumber daya Azure Maps dapat ditemukan di bagian Autentikasi di sumber daya Azure Maps. Silakan lihat dokumentasi tentang cara menemukannya.
from azure.maps.geolocation import MapsGeolocationClient
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
geolocation_client = MapsGeolocationClient(
client_id="<Azure Maps Client ID>",
credential=credential
)
Konsep utama
Pustaka klien Azure Maps Geolocation untuk Python memungkinkan Anda berinteraksi dengan setiap komponen melalui penggunaan objek klien khusus.
Sinkronkan Klien
MapsGeolocationClient
adalah klien utama untuk pengembang yang menggunakan pustaka klien Azure Maps Geolocation untuk Python.
Setelah menginisialisasi MapsGeolocationClient
kelas, Anda dapat menjelajahi metode pada objek klien ini untuk memahami berbagai fitur layanan Azure Maps Geolocation yang dapat Anda akses.
Klien Asinkron
Pustaka ini mencakup API asinkron lengkap yang didukung pada Python 3.5+. Untuk menggunakannya, Anda harus menginstal transportasi asinkron terlebih dahulu, seperti aiohttp. Lihat dokumentasi azure-core untuk informasi selengkapnya.
Klien dan kredensial asinkron harus ditutup ketika tidak lagi diperlukan. Objek ini adalah manajer konteks asinkron dan menentukan metode asinkron close
.
Contoh
Bagian berikut menyediakan beberapa cuplikan kode yang mencakup beberapa tugas geolokasi Azure Maps yang paling umum, termasuk:
Dapatkan Geolokasi
Layanan ini akan mengembalikan kode negara ISO untuk alamat IP yang disediakan. Pengembang dapat menggunakan informasi ini untuk memblokir atau mengubah konten tertentu berdasarkan lokasi geografis tempat aplikasi dilihat.
from azure.maps.geolocation import MapsGeolocationClient
BLOCK_COUNTRY_LIST = ['US', 'TW', 'AF', 'AX', 'DL']
INCOME_IP_ADDRESS = "2001:4898:80e8:b::189"
geolocation_result = client.get_country_code(ip_address=INCOME_IP_ADDRESS)
result_country_code = geolocation_result.iso_code
if result_country_code in BLOCK_COUNTRY_LIST:
raise Exception("These IP address is from forebiden country")
Pemecahan Masalah
Umum
Klien Geolokasi Maps memunculkan pengecualian yang ditentukan dalam Azure Core.
Daftar ini dapat digunakan untuk referensi untuk menangkap pengecualian yang dilemparkan. Untuk mendapatkan kode kesalahan tertentu dari pengecualian, gunakan error_code
atribut , yaitu, exception.error_code
.
Pembuatan Log
Pustaka ini menggunakan pustaka pengelogan standar untuk pengelogan. Informasi dasar tentang sesi HTTP (URL, header, dll.) dicatat di tingkat INFO.
Pengelogan tingkat DEBUG terperinci, termasuk isi permintaan/respons dan header yang tidak diredaktifkan, dapat diaktifkan pada klien dengan logging_enable
argumen :
import sys
import logging
from azure.maps.geolocation import MapsGeolocationClient
# Create a logger for the 'azure.maps.geolocation' SDK
logger = logging.getLogger('azure.maps.geolocation')
logger.setLevel(logging.DEBUG)
# Configure a console output
handler = logging.StreamHandler(stream=sys.stdout)
logger.addHandler(handler)
Tambahan
Masih mengalami masalah? Jika Anda menemukan bug atau memiliki saran, silakan ajukan masalah di bagian Masalah proyek.
Langkah berikutnya
Lebih banyak kode sampel
Mulai menggunakan sampel Geolokasi Peta kami (sampel Versi Asinkron).
Beberapa sampel SDK Python Geolokasi Azure Maps tersedia untuk Anda di repositori GitHub SDK. Sampel ini menyediakan contoh kode untuk skenario tambahan yang umum ditemui saat bekerja dengan Geolokasi Maps
set AZURE_SUBSCRIPTION_KEY="<RealSubscriptionKey>"
pip install azure-maps-geolocation --pre
python samples/sample_authentication.py
python sample/sample_get_country_code.py
Catatan:
--pre
bendera dapat ditambahkan secara opsional, yaitu menyertakan versi pra-rilis dan pengembangan untukpip install
. Secara default,pip
hanya menemukan versi yang stabil.
Detail lebih lanjut silakan merujuk ke Pengenalan Sampel
Dokumentasi tambahan
Untuk dokumentasi yang lebih luas tentang Geolokasi Azure Maps, lihat dokumentasi Geolokasi Azure Maps tentang docs.microsoft.com.
Berkontribusi
Proyek ini menyambut baik kontribusi dan saran. Sebagian besar kontribusi mengharuskan Anda menyetujui Perjanjian Lisensi Kontributor (CLA) yang menyatakan bahwa Anda memiliki hak untuk, dan benar-benar melakukannya, memberi kami hak untuk menggunakan kontribusi Anda. Untuk detailnya, kunjungi https://cla.microsoft.com.
Ketika Anda mengirimkan permintaan tarik, CLA-bot akan secara otomatis menentukan apakah Anda perlu memberikan CLA dan menghias PR dengan tepat (misalnya, label, komentar). Cukup ikuti instruksi yang diberikan oleh bot. Anda hanya perlu melakukan ini sekali di semua repos menggunakan CLA kami.
Proyek ini telah mengadopsi Kode Etik Sumber Terbuka Microsoft. Untuk informasi selengkapnya, lihat Tanya Jawab Umum Tata Tertib atau hubungi opencode@microsoft.com untuk pertanyaan atau komentar lainnya.
Azure SDK for Python
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk