Az API-verziók profiljainak használata a Python használatával Azure Stack hub-banUse API version profiles with Python in Azure Stack Hub

A Python SDK támogatja az API-verziók profiljait különböző felhőalapú platformok, például az Azure Stack hub és a globális Azure megcélzásához.The Python SDK supports API version profiles to target different cloud platforms, such as Azure Stack Hub and global Azure. Az API-profilok használatával megoldásokat hozhat létre hibrid felhőhöz.Use API profiles in creating solutions for a hybrid cloud.

A cikkben szereplő utasítások Microsoft Azure előfizetést igényelnek.The instructions in this article require a Microsoft Azure subscription. Ha még nem rendelkezik ilyennel, ingyenes próbaverziós fiókotis kaphat.If you don't have one, you can get a free trial account.

Python-és API-verziók profiljaiPython and API version profiles

A Python SDK a következő API-profilokat támogatja:The Python SDK supports the following API profiles:

  • legújabblatest
    Ez a profil az Azure platform összes szolgáltatójának legújabb API-verzióit célozza meg.This profile targets the most recent API versions for all service providers in the Azure platform.

  • 2019-03-01 – hibrid2019-03-01-hybrid
    Ez a profil a 1904-es vagy újabb verziójú Azure Stack hub-platform összes erőforrás-szolgáltatójának legújabb API-verzióit célozza meg.This profile targets the latest API versions for all the resource providers in the Azure Stack Hub platform for versions 1904 or later.

  • 2018-03-01 – hibrid2018-03-01-hybrid
    Ez a profil az Azure Stack hub platform összes erőforrás-szolgáltatójának legkompatibilisebb API-verzióit célozza meg.This profile targets the most compatible API versions for all the resource providers in the Azure Stack Hub platform.

  • 2017-03-09 – profil2017-03-09-profile
    Ez a profil az Azure Stack hub által támogatott erőforrás-szolgáltatók legkompatibilisebb API-verzióit célozza meg.This profile targets the most compatible API versions of the resource providers supported by Azure Stack Hub.

    További információ az API-profilokról és az Azure Stack hub-ról: az API-verziók profiljainak kezelése Azure stack központban.For more info on API profiles and Azure Stack Hub, see Manage API version profiles in Azure Stack Hub.

Az Azure Python SDK telepítéseInstall the Azure Python SDK

  1. Telepítse a git-t.Install Git.
  2. A Python SDK telepítésével kapcsolatos útmutatásért lásd: az Azure Python-fejlesztőknek.For instructions on how to install the Python SDK, see Azure for Python developers.
  3. Ha nem érhető el, hozzon létre egy előfizetést, és mentse az előfizetés-azonosítót későbbi használatra.If not available, create a subscription and save the subscription ID to use later. Az előfizetések létrehozásával kapcsolatos utasításokért lásd: előfizetések létrehozása Azure stack hub-beli ajánlatokhoz.For instructions on creating a subscription, see Create subscriptions to offers in Azure Stack Hub.
  4. Hozzon létre egy egyszerű szolgáltatásnevet, és mentse az azonosítót és a titkos kulcsot.Create a service principal and save its ID and secret. Az Azure Stack hub szolgáltatáshoz való létrehozásával kapcsolatos utasításokért lásd: alkalmazások Azure stack hub elérésének biztosítása.For instructions on how to create a service principal for Azure Stack Hub, see Provide applications access to Azure Stack Hub.
  5. Győződjön meg arról, hogy a szolgáltatásnév közreműködői/tulajdonosi szerepkörrel rendelkezik az előfizetésében.Make sure your service principal has the contributor/owner role on your subscription. A szerepkörnek az egyszerű szolgáltatáshoz való hozzárendelésével kapcsolatos utasításokért lásd: alkalmazások Azure stack hubhoz való hozzáférésének biztosítása.For instructions on how to assign a role to your service principal, see Provide applications access to Azure Stack Hub.

ElőfeltételekPrerequisites

Ha Azure Stack hubhoz szeretné használni a Python Azure SDK-t, a következő értékeket kell megadnia, majd értékeket kell beállítania környezeti változókkal.To use the Python Azure SDK with Azure Stack Hub, you must supply the following values and then set values with environment variables. A környezeti változók megadásához tekintse meg az adott operációs rendszerre vonatkozó utasításokat az alábbi táblázatban leírtak szerint.To set the environment variables, see the instructions after the following table, for your specific operating system.

ÉrtékValue Környezeti változókEnvironment variables LeírásDescription
BérlőazonosítóTenant ID AZURE_TENANT_ID Az Azure Stack hub- bérlő azonosítója.Your Azure Stack Hub tenant ID.
Ügyfél-azonosítóClient ID AZURE_CLIENT_ID Az egyszerű szolgáltatásnév a jelen cikk előző szakaszában a szolgáltatásnév létrehozásakor mentve.The service principal app ID saved when the service principal was created in the previous section of this article.
Előfizetés azonosítójaSubscription ID AZURE_SUBSCRIPTION_ID Az előfizetés- azonosítóval érheti el az ajánlatokat az Azure stack hub szolgáltatásban.You use the subscription ID to access offers in Azure Stack Hub.
Titkos ügyfélkulcsClient secret AZURE_CLIENT_SECRET A szolgáltatás egyszerű alkalmazásának titkos kulcsa a szolgáltatásnév létrehozásakor mentve.The service principal app secret saved when the service principal was created.
Resource Manager-végpontResource Manager endpoint ARM_ENDPOINT Lásd a Azure stack hub Resource Manager-végpontot ismertető cikket.See the Azure Stack Hub Resource Manager endpoint article.
Erőforrás helyeResource location AZURE_RESOURCE_LOCATION Az Azure Stack hub-környezet erőforrásának helye.The resource location of your Azure Stack Hub environment.

Az Azure Stack hub HITELESÍTÉSSZOLGÁLTATÓI főtanúsítványának megbízhatóságaTrust the Azure Stack Hub CA root certificate

Ha a ASDK használja, explicit módon meg kell bíznia a távoli gépen lévő HITELESÍTÉSSZOLGÁLTATÓI főtanúsítványban.If you are using the ASDK, you must explicitly trust the CA root certificate on your remote machine. Nem kell megbíznia a HITELESÍTÉSSZOLGÁLTATÓI főtanúsítványban Azure Stack hub integrált rendszerekkel.You do not need to trust the CA root certificate with Azure Stack Hub integrated systems.

WindowsWindows

  1. Keresse meg a Python tanúsítványtároló helyét a gépen.Find the Python certificate store location on your machine. A hely változhat, attól függően, hogy hol telepítette a Pythont.The location may vary, depending on where you installed Python. Nyisson meg egy parancssort vagy egy rendszergazda jogú PowerShell-parancssort, és írja be a következő parancsot:Open a command prompt or an elevated PowerShell prompt, and type the following command:

      python -c "import certifi; print(certifi.where())"
    

    Jegyezze fel a tanúsítványtároló helyét; például: ~/lib/python3.5/site-Packages/Certifi/CAcert.PEM.Make a note of the certificate store location; for example, ~/lib/python3.5/site-packages/certifi/cacert.pem. A megadott elérési út az operációs rendszertől és a telepített Python-verziótól függ.Your particular path depends on your operating system and the version of Python that you have installed.

  2. Bízza a Azure Stack hub HITELESÍTÉSSZOLGÁLTATÓI főtanúsítványát úgy, hogy hozzáfűzi a meglévő Python-tanúsítványhoz:Trust the Azure Stack Hub CA root certificate by appending it to the existing Python certificate:

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

Megjegyzés

Ha a virtualenv -t használja a Python SDK-hoz való fejlesztéshez, ahogy azt a Python minta futtatása szakaszban is említettük, az előző tanúsítványt hozzá kell adnia a virtuális környezet tanúsítványtárolóhoz.If you are using virtualenv for developing with Python SDK as mentioned in the following Run the Python sample section, you must add the previous certificate to your virtual environment certificate store. Az elérési út a következőhöz hasonló lehet: ..\mytestenv\Lib\site-packages\certifi\cacert.pem .The path might look similar to: ..\mytestenv\Lib\site-packages\certifi\cacert.pem.

Python-minták az Azure Stack hub-hozPython samples for Azure Stack Hub

A Python SDK-val Azure Stack hub számára elérhető mintakód-minták a következők:Some of the code samples available for Azure Stack Hub using the Python SDK are:

Virtuálisgép-minta kezeléseManage virtual machine sample

A következő Python-mintakód használatával általános felügyeleti feladatokat hajthat végre a virtuális gépekhez (VM) az Azure Stack hub-ban.Use the following Python code sample to perform common management tasks for virtual machines (VMs) in your Azure Stack Hub. A kód mintája a következőket mutatja be:The code sample shows you how to:

  • Virtuális gépek létrehozása:Create VMs:
    • Linux rendszerű virtuális gép létrehozásaCreate a Linux VM
    • Windows rendszerű virtuális gép létrehozásaCreate a Windows VM
  • Virtuális gép frissítése:Update a VM:
    • Meghajtó kibontásaExpand a drive
    • Virtuális gép címkézéseTag a VM
    • Adatlemezek csatolásaAttach data disks
    • Adatlemezek leválasztásaDetach data disks
  • Virtuális gép üzemeltetése:Operate a VM:
    • Virtuális gép elindításaStart a VM
    • Virtuális gép leállításaStop a VM
    • Virtuális gép újraindításaRestart a VM
  • Virtuális gépek felsorolásaList VMs
  • Virtuális gép törléseDelete a VM

A műveleteket végrehajtó kód áttekintéséhez tekintse meg a Python parancsfájl example.py a run_example () függvényt a GitHub -adattár Hybrid-számítás-Python-Manage-VMcímű részében.To review the code that performs these operations, see the run_example() function in the Python script example.py in the GitHub repo Hybrid-Compute-Python-Manage-VM.

Az egyes műveletek egyértelműen egy megjegyzéssel és egy Print függvénnyel vannak megjelölve.Each operation is clearly labeled with a comment and a print function. A példák nem feltétlenül szerepelnek a listában látható sorrendben.The examples are not necessarily in the order shown in this list.

A Python-minta futtatásaRun the Python sample

  1. Telepítse a Pythont , ha még nincs telepítve.Install Python if not already installed. Ez a minta (és az SDK) kompatibilis a Python 2,7, 3,4, 3,5 és 3,6 rendszerrel.This sample (and the SDK) is compatible with Python 2.7, 3.4, 3.5, and 3.6.

  2. A Python-fejlesztés általános javaslata a virtuális környezet használata.A general recommendation for Python development is to use a virtual environment. További információt a Python dokumentációjábantalál.For more information, see the Python documentation.

  3. Telepítse és inicializálja a virtuális környezetet a venv modullal a Python 3 rendszeren (telepítenie kell a virtualenv for Python 2,7):Install and initialize the virtual environment with the venv module on Python 3 (you must install virtualenv for Python 2.7):

    python -m venv mytestenv # Might be "python3" or "py -3.6" depending on your Python installation
    cd mytestenv
    source bin/activate      # Linux shell (Bash, ZSH, etc.) only
    ./scripts/activate       # PowerShell only
    ./scripts/activate.bat   # Windows CMD only
    
  4. A tárház klónozása:Clone the repository:

    git clone https://github.com/Azure-Samples/Hybrid-Compute-Python-Manage-VM.git
    
  5. A függőségek telepítése a pip használatával:Install the dependencies using pip:

    cd Hybrid-Compute-Python-Manage-VM
    pip install -r requirements.txt
    
  6. Hozzon létre egy egyszerű szolgáltatásnevet Azure stack hub használatával való együttműködéshez.Create a service principal to work with Azure Stack Hub. Győződjön meg arról, hogy a szolgáltatásnév közreműködői/tulajdonosi szerepkörrel rendelkezik az előfizetésében.Make sure your service principal has the contributor/owner role on your subscription.

  7. Állítsa be a következő változókat, és exportálja ezeket a környezeti változókat a jelenlegi rendszerhéjba:Set the following variables and export these environment variables into your current shell:

    export AZURE_TENANT_ID={your tenant id}
    export AZURE_CLIENT_ID={your client id}
    export AZURE_CLIENT_SECRET={your client secret}
    export AZURE_SUBSCRIPTION_ID={your subscription id}
    export ARM_ENDPOINT={your AzureStack Resource Manager Endpoint}
    export AZURE_RESOURCE_LOCATION={your AzureStack Resource location}
    
  8. A minta futtatásához az Ubuntu 16,04-LTS és a WindowsServer 2012-R2-DataCenter lemezképeknek jelen kell lenniük az Azure Stack hub piactéren.To run this sample, Ubuntu 16.04-LTS and WindowsServer 2012-R2-DataCenter images must be present in the Azure Stack Hub Marketplace. Ezek a lemezképek letölthetők az Azure-ból, vagy hozzáadhatók a platform lemezkép-tárházához.These images can be either downloaded from Azure, or added to the platform image repository.

  9. Minta futtatása:Run the sample:

    python example.py
    

Következő lépésekNext steps