Menggunakan profil versi API dengan Python di Azure Stack Hub
Penting
Python SDK telah diperbarui dari trek 1 ke trek 2. Sebaiknya migrasikan ke SDK trek 2 sesegera mungkin. Untuk petunjuknya, lihat panduan migrasi ini.
Python SDK mendukung profil versi API untuk menargetkan platform cloud yang berbeda, seperti Azure Stack Hub dan Azure global. Gunakan profil API dalam membuat solusi untuk cloud hibrid.
Petunjuk dalam artikel ini memerlukan langganan Microsoft Azure. Jika Anda tidak memilikinya, Anda bisa mendapatkan akun coba gratis.
Profil versi Python dan API
Python SDK mendukung profil API berikut:
terbaru
Profil ini menargetkan versi API terbaru untuk semua penyedia layanan di platform Azure.2020_09_01_hybrid
Profil ini menargetkan versi API terbaru untuk semua penyedia sumber daya di platform Azure Stack Hub untuk versi 2102 atau yang lebih baru.2019_03_01_hybrid
Profil ini menargetkan versi API terbaru untuk semua penyedia sumber daya di platform Azure Stack Hub untuk versi 1904 atau yang lebih baru.Untuk info selengkapnya tentang profil API dan Azure Stack Hub, lihat Mengelola profil versi API di Azure Stack Hub.
Memasang Azure Python SDK
Profil
Untuk profil yang berisi tanggal, untuk menggunakan profil atau versi SDK yang berbeda, ganti tanggal di v<date>_hybrid
. Misalnya, untuk versi 2008, profilnya adalah 2019_03_01
, dan string menjadi v2019_03_01_hybrid
. Perhatikan bahwa terkadang tim SDK mengubah nama paket, jadi hanya mengganti tanggal string dengan tanggal yang berbeda mungkin tidak berhasil. Lihat tabel berikut untuk asosiasi profil dan versi Azure Stack.
Versi Azure Stack | Profil |
---|---|
2311 | 2020_09_01 |
2301 | 2020_09_01 |
2206 | 2020_09_01 |
2108 | 2020_09_01 |
2102 | 2020_09_01 |
2008 | 2019_03_01 |
Untuk informasi selengkapnya tentang Azure Stack Hub serta profil API, lihat Ringkasan profil API.
Lihat Profil Python SDK.
Langganan
Jika Anda belum memiliki langganan, buat langganan dan simpan ID langganan yang akan digunakan nanti. Untuk informasi tentang cara membuat langganan, lihat dokumen ini.
Perwakilan Layanan
Perwakilan layanan dan informasi lingkungan terkait harus dibuat dan disimpan di suatu tempat. Perwakilan layanan dengan peran owner
direkomendasikan, tetapi tergantung sampel, peran contributor
mungkin sudah cukup. Lihat README di repositori sampel untuk nilai yang diperlukan. Anda dapat membaca nilai-nilai ini dalam format apa pun yang didukung oleh bahasa SDK seperti dari file JSON (yang digunakan dalam sampel kami). Bergantung pada sampel yang dijalankan, tidak semua nilai ini dapat digunakan. Lihat repositori sampel untuk mengetahui kode sampel terbaru atau informasi lebih lanjut.
ID Penyewa
Ikuti petunjuk dalam artikel ini untuk menemukan direktori atau ID penyewa untuk Azure Stack Hub Anda.
Mendaftarkan penyedia sumber daya
Daftarkan penyedia sumber daya yang diperlukan dengan mengikuti dokumen ini. Penyedia sumber daya ini akan diperlukan, tergantung sampel yang ingin Anda jalankan. Misalnya, jika Anda ingin menjalankan sampel mesin virtual, pendaftaran penyedia sumber daya Microsoft.Compute
diperlukan.
Titik akhir Azure Stack resource manager
Azure Resource Manager (ARM) adalah kerangka kerja manajemen yang memungkinkan administrator untuk menyebarkan, mengelola, dan memantau sumber daya Azure. Azure Resource Manager dapat menangani tugas-tugas ini sebagai grup, bukan secara individu, dalam satu operasi. Anda bisa mendapatkan info metadata dari titik akhir Resource Manager. Titik akhir mengembalikan file JSON dengan info yang dibutuhkan untuk menjalankan kode Anda.
-
ResourceManagerEndpointUrl di Azure Stack Development Kit (ASDK) adalah:
https://management.local.azurestack.external/
. -
ResourceManagerEndpointUrl dalam sistem terintegrasi adalah:
https://management.region.<fqdn>/
, dengan<fqdn>
adalah nama domain Anda yang sepenuhnya memenuhi syarat. - Untuk mengambil metadata yang dibutuhkan:
<ResourceManagerUrl>/metadata/endpoints?api-version=1.0
. Untuk versi API yang tersedia, lihat Spesifikasi rest API Azure. Misalnya, dalam versi profil2020-09-01
, Anda dapat mengubahapi-version
ke2019-10-01
untuk penyedia sumber dayamicrosoft.resources
.
JSON Sampel:
{
"galleryEndpoint": "https://portal.local.azurestack.external:30015/",
"graphEndpoint": "https://graph.windows.net/",
"portal Endpoint": "https://portal.local.azurestack.external/",
"authentication":
{
"loginEndpoint": "https://login.windows.net/",
"audiences": ["https://management.yourtenant.onmicrosoft.com/3cc5febd-e4b7-4a85-a2ed-1d730e2f5928"]
}
}
Mempercayai sertifikat akar Azure Stack Hub CA
Jika Anda menggunakan ASDK, Anda harus secara eksplisit mempercayai sertifikat akar CA pada mesin jarak jauh Anda. Anda tidak perlu mempercayai sertifikat akar CA dengan sistem terintegrasi Azure Stack Hub.
Windows
Temukan lokasi penyimpanan sertifikat Python di mesin Anda. Lokasi dapat bervariasi, tergantung di mana Anda memasang Python. Buka perintah atau prompt PowerShell yang ditinggikan, dan ketik perintah berikut:
python -c "import certifi; print(certifi.where())"
Buat catatan lokasi penyimpanan sertifikat; misalnya, ~/lib/python3.5/site-packages/certifi/cacert.pem. Jalur khusus Anda tergantung pada sistem operasi Anda dan versi Python yang telah Anda pasang.
Percayai sertifikat akar Azure Stack Hub CA dengan menambahkannya ke sertifikat Python yang ada:
$pemFile = "<Fully qualified path to the PEM certificate; for ex: C:\Users\user1\Downloads\root.pem>" $root = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 $root.Import($pemFile) Write-Host "Extracting required information from the cert file" $md5Hash = (Get-FileHash -Path $pemFile -Algorithm MD5).Hash.ToLower() $sha1Hash = (Get-FileHash -Path $pemFile -Algorithm SHA1).Hash.ToLower() $sha256Hash = (Get-FileHash -Path $pemFile -Algorithm SHA256).Hash.ToLower() $issuerEntry = [string]::Format("# Issuer: {0}", $root.Issuer) $subjectEntry = [string]::Format("# Subject: {0}", $root.Subject) $labelEntry = [string]::Format("# Label: {0}", $root.Subject.Split('=')[-1]) $serialEntry = [string]::Format("# Serial: {0}", $root.GetSerialNumberString().ToLower()) $md5Entry = [string]::Format("# MD5 Fingerprint: {0}", $md5Hash) $sha1Entry = [string]::Format("# SHA1 Fingerprint: {0}", $sha1Hash) $sha256Entry = [string]::Format("# SHA256 Fingerprint: {0}", $sha256Hash) $certText = (Get-Content -Path $pemFile -Raw).ToString().Replace("`r`n","`n") $rootCertEntry = "`n" + $issuerEntry + "`n" + $subjectEntry + "`n" + $labelEntry + "`n" + ` $serialEntry + "`n" + $md5Entry + "`n" + $sha1Entry + "`n" + $sha256Entry + "`n" + $certText Write-Host "Adding the certificate content to Python Cert store" Add-Content "${env:ProgramFiles(x86)}\Python35\Lib\site-packages\certifi\cacert.pem" $rootCertEntry Write-Host "Python Cert store was updated to allow the Azure Stack Hub CA root certificate"
Catatan
Jika Anda menggunakan virtualenv untuk mengembangkan dengan Python SDK, Anda harus menambahkan sertifikat sebelumnya ke penyimpanan sertifikat lingkungan virtual Anda. Jalurnya mungkin terlihat mirip dengan: ..\mytestenv\Lib\site-packages\certifi\cacert.pem
.
Sampel
Lihat repositori sampel ini untuk kode sampel update-to-date (track 2). Lihat repositori sampel ini untuk kode sampel trek 1. Akar README.md
menjelaskan persyaratan umum, dan setiap subdirektori berisi sampel tertentu dengan sendirinya README.md
yang menjelaskan cara menjalankan sampel tersebut.
Lihat di sini untuk mengetahui sampel yang berlaku pada versi 2008
atau profil 2019-03-01
Azure Stack dan di bawah ini.