Use perfis de versão API com Python no Azure Stack Hub
O Python SDK suporta perfis de versão API para direcionar diferentes plataformas em nuvem, como o Azure Stack Hub e o Global Azure. Utilize perfis API na criação de soluções para uma nuvem híbrida.
As instruções deste artigo requerem uma subscrição Microsoft Azure. Se não tiver uma, pode ter uma conta de teste gratuita.
Perfis de versão Python e API
O Python SDK suporta os seguintes perfis API:
mais recente
Este perfil destina-se às versões API mais recentes para todos os prestadores de serviços na plataforma Azure.2020-09-01-híbrido
Este perfil destina-se às versões API mais recentes para todos os fornecedores de recursos na plataforma Azure Stack Hub para as versões 2102 ou posteriores.2019-03-01-híbrido
Este perfil destina-se às versões API mais recentes para todos os fornecedores de recursos na plataforma Azure Stack Hub para versões de 1904 ou posterior.Para obter mais informações sobre perfis API e Azure Stack Hub, consulte os perfis de versão API do Manage no Azure Stack Hub.
Instale o Azure Python SDK
- Instale Git.
- Para obter instruções sobre como instalar o Python SDK, consulte Azure para desenvolvedores python.
- Se não estiver disponível, crie uma subscrição e guarde o ID de subscrição para utilizar mais tarde. Para obter instruções sobre a criação de uma subscrição, consulte Criar subscrições para ofertas no Azure Stack Hub.
- Crie um diretor de serviço e guarde a sua identificação e segredo. Para obter instruções sobre como criar um principal de serviço para o Azure Stack Hub, consulte fornecer acesso às aplicações ao Azure Stack Hub.
- Certifique-se de que o seu titular de serviço tem a função de contribuinte/proprietário na sua subscrição. Para obter instruções sobre como atribuir uma função ao seu principal de serviço, consulte fornecer acesso às aplicações ao Azure Stack Hub.
Pré-requisitos
Para utilizar o Python Azure SDK com Azure Stack Hub, deve fornecer os seguintes valores e, em seguida, definir valores com variáveis ambientais. Para definir as variáveis ambientais, consulte as instruções após a tabela seguinte, para o seu sistema operativo específico.
Valor | Variáveis de ambiente | Description |
---|---|---|
ID do inquilino | AZURE_TENANT_ID |
Sua identificação do inquilino do Azure Stack Hub. |
ID de Cliente | AZURE_CLIENT_ID |
O ID principal da aplicação de serviço salvou quando o diretor de serviço foi criado na secção anterior deste artigo. |
ID da subscrição | AZURE_SUBSCRIPTION_ID |
Utiliza o ID de subscrição para aceder a ofertas no Azure Stack Hub. |
Segredo do cliente | AZURE_CLIENT_SECRET |
O segredo da aplicação principal do serviço salvou-se quando o diretor do serviço foi criado. |
Ponto final do Gestor de Recursos | ARM_ENDPOINT |
Consulte o artigo de ponta final do Azure Stack Hub Manager . |
Localização do recurso | AZURE_RESOURCE_LOCATION |
A localização de recursos do seu ambiente Azure Stack Hub. |
Confie no certificado raiz Azure Stack Hub CA
Se estiver a utilizar o ASDK, deve confiar explicitamente no certificado raiz ca na sua máquina remota. Não precisa confiar o certificado de raiz da AC com sistemas integrados Azure Stack Hub.
Windows
Encontre a localização da loja de certificados Python na sua máquina. A localização pode variar, dependendo do local onde instalou Python. Abra uma solicitação de comando ou uma solicitação powerShell elevada e digite o seguinte comando:
python -c "import certifi; print(certifi.where())"
Tome nota da localização da loja de certificados; por exemplo, ~/lib/python3.5/site-packages/certifi/cacert.pem. O seu percurso em particular depende do seu sistema operativo e da versão do Python que instalou.
Confie no certificado raiz Azure Stack Hub CA, anexando-o ao certificado Python existente:
$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"
Nota
Se estiver a utilizar virtualenv para desenvolver com Python SDK, como mencionado na seguinte secção de amostras De Python , deve adicionar o certificado anterior à sua loja de certificados de ambiente virtual. O caminho pode parecer-se com: ..\mytestenv\Lib\site-packages\certifi\cacert.pem
.
Amostras de Python para Azure Stack Hub
Algumas das amostras de código disponíveis para O Azure Stack Hub utilizando o Python SDK são:
Gerir amostra de máquina virtual
Utilize a seguinte amostra de código Python para executar tarefas de gestão comuns para máquinas virtuais (VMs) no seu Azure Stack Hub. A amostra de código mostra como:
- Criar VMs:
- Criar uma VM do Linux
- Criar uma VM do Windows
- Atualizar um VM:
- Expandir uma unidade
- Etiquetar uma VM
- Anexar discos de dados
- Desanexar discos de dados
- Operar um VM:
- Iniciar uma VM
- Parar uma VM
- Reiniciar uma VM
- Listar VMs
- Eliminar uma VM
Para rever o código que executa estas operações, consulte a função run_example naexample.py de script Python no GitHub repo Hybrid-Compute-Python-Manage-VM.
Cada operação é claramente rotulada com um comentário e uma função de impressão. Os exemplos não estão necessariamente na ordem mostrada nesta lista.
Executar a amostra python
Instale python se ainda não estiver instalado. Esta amostra (e o SDK) é compatível com Python 2.7, 3.4, 3.5 e 3.6.
Uma recomendação geral para o desenvolvimento de Python é usar um ambiente virtual. Para mais informações, consulte a documentação python.
Instale e inicialize o ambiente virtual com o módulo venv no Python 3 (deve instalar virtualenv para 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
Clone o repositório:
git clone https://github.com/Azure-Samples/Hybrid-Compute-Python-Manage-VM.git
Instale as dependências utilizando pip:
cd Hybrid-Compute-Python-Manage-VM pip install -r requirements.txt
Crie um diretor de serviço para trabalhar com o Azure Stack Hub. Certifique-se de que o seu titular de serviço tem a função de contribuinte/proprietário na sua subscrição.
Descose as seguintes variáveis e exporte estas variáveis ambientais para a sua concha atual:
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}
Para executar esta amostra, as imagens Ubuntu 16.04-LTS e WindowsServer 2012-R2-DataCenter devem estar presentes no Azure Stack Hub Marketplace. Estas imagens podem ser descarregadas a partir do Azure ou adicionadas ao repositório de imagem da plataforma.
Execute o exemplo:
python example.py
O Python SDK suporta perfis de versão API para direcionar diferentes plataformas em nuvem, como o Azure Stack Hub e o Global Azure. Utilize perfis API na criação de soluções para uma nuvem híbrida.
As instruções deste artigo requerem uma subscrição Microsoft Azure. Se não tiver uma, pode ter uma conta de teste gratuita.
Perfis de versão Python e API
O Python SDK suporta os seguintes perfis API:
mais recente
Este perfil destina-se às versões API mais recentes para todos os prestadores de serviços na plataforma Azure.2019-03-01-híbrido
Este perfil destina-se às versões API mais recentes para todos os fornecedores de recursos na plataforma Azure Stack Hub para versões de 1904 ou posterior.2018-03-01-híbrido
Este perfil destina-se às versões API mais compatíveis para todos os fornecedores de recursos na plataforma Azure Stack Hub.Perfil 2017-03-09
Este perfil visa as versões API mais compatíveis dos fornecedores de recursos suportados pelo Azure Stack Hub.Para obter mais informações sobre perfis API e Azure Stack Hub, consulte os perfis de versão API do Manage no Azure Stack Hub.
Instale o Azure Python SDK
- Instale Git.
- Para obter instruções sobre como instalar o Python SDK, consulte Azure para desenvolvedores python.
- Se não estiver disponível, crie uma subscrição e guarde o ID de subscrição para utilizar mais tarde. Para obter instruções sobre a criação de uma subscrição, consulte Criar subscrições para ofertas no Azure Stack Hub.
- Crie um diretor de serviço e guarde a sua identificação e segredo. Para obter instruções sobre como criar um principal de serviço para o Azure Stack Hub, consulte fornecer acesso às aplicações ao Azure Stack Hub.
- Certifique-se de que o seu titular de serviço tem a função de contribuinte/proprietário na sua subscrição. Para obter instruções sobre como atribuir uma função ao seu principal de serviço, consulte fornecer acesso às aplicações ao Azure Stack Hub.
Pré-requisitos
Para utilizar o Python Azure SDK com Azure Stack Hub, deve fornecer os seguintes valores e, em seguida, definir valores com variáveis ambientais. Para definir as variáveis ambientais, consulte as instruções após a tabela seguinte, para o seu sistema operativo específico.
Valor | Variáveis de ambiente | Description |
---|---|---|
ID do inquilino | AZURE_TENANT_ID |
Sua identificação do inquilino do Azure Stack Hub. |
ID de Cliente | AZURE_CLIENT_ID |
O ID principal da aplicação de serviço salvou quando o diretor de serviço foi criado na secção anterior deste artigo. |
ID da subscrição | AZURE_SUBSCRIPTION_ID |
Utiliza o ID de subscrição para aceder a ofertas no Azure Stack Hub. |
Segredo do cliente | AZURE_CLIENT_SECRET |
O segredo da aplicação principal do serviço salvou-se quando o diretor do serviço foi criado. |
Ponto final do Gestor de Recursos | ARM_ENDPOINT |
Consulte o artigo de ponta final do Azure Stack Hub Manager . |
Localização do recurso | AZURE_RESOURCE_LOCATION |
A localização de recursos do seu ambiente Azure Stack Hub. |
Confie no certificado raiz Azure Stack Hub CA
Se estiver a utilizar o ASDK, deve confiar explicitamente no certificado raiz ca na sua máquina remota. Não precisa confiar o certificado de raiz da AC com sistemas integrados Azure Stack Hub.
Windows
Encontre a localização da loja de certificados Python na sua máquina. A localização pode variar, dependendo do local onde instalou Python. Abra uma solicitação de comando ou uma solicitação powerShell elevada e digite o seguinte comando:
python -c "import certifi; print(certifi.where())"
Tome nota da localização da loja de certificados; por exemplo, ~/lib/python3.5/site-packages/certifi/cacert.pem. O seu percurso em particular depende do seu sistema operativo e da versão do Python que instalou.
Confie no certificado raiz Azure Stack Hub CA, anexando-o ao certificado Python existente:
$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"
Nota
Se estiver a utilizar virtualenv para desenvolver com Python SDK, como mencionado na seguinte secção de amostras De Python , deve adicionar o certificado anterior à sua loja de certificados de ambiente virtual. O caminho pode parecer-se com: ..\mytestenv\Lib\site-packages\certifi\cacert.pem
.
Amostras de Python para Azure Stack Hub
Algumas das amostras de código disponíveis para O Azure Stack Hub utilizando o Python SDK são:
Gerir amostra de máquina virtual
Utilize a seguinte amostra de código Python para executar tarefas de gestão comuns para máquinas virtuais (VMs) no seu Azure Stack Hub. A amostra de código mostra como:
- Criar VMs:
- Criar uma VM do Linux
- Criar uma VM do Windows
- Atualizar um VM:
- Expandir uma unidade
- Etiquetar uma VM
- Anexar discos de dados
- Desanexar discos de dados
- Operar um VM:
- Iniciar uma VM
- Parar uma VM
- Reiniciar uma VM
- Listar VMs
- Eliminar uma VM
Para rever o código que executa estas operações, consulte a função run_example naexample.py de script Python no GitHub repo Hybrid-Compute-Python-Manage-VM.
Cada operação é claramente rotulada com um comentário e uma função de impressão. Os exemplos não estão necessariamente na ordem mostrada nesta lista.
Executar a amostra python
Instale python se ainda não estiver instalado. Esta amostra (e o SDK) é compatível com Python 2.7, 3.4, 3.5 e 3.6.
Uma recomendação geral para o desenvolvimento de Python é usar um ambiente virtual. Para mais informações, consulte a documentação python.
Instale e inicialize o ambiente virtual com o módulo venv no Python 3 (deve instalar virtualenv para 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
Clone o repositório:
git clone --branch 2019_03_01_hybrid https://github.com/Azure-Samples/Hybrid-Compute-Python-Manage-VM.git
Instale as dependências utilizando pip:
cd Hybrid-Compute-Python-Manage-VM pip install -r requirements.txt
Crie um diretor de serviço para trabalhar com o Azure Stack Hub. Certifique-se de que o seu titular de serviço tem a função de contribuinte/proprietário na sua subscrição.
Descose as seguintes variáveis e exporte estas variáveis ambientais para a sua concha atual:
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}
Para executar esta amostra, as imagens Ubuntu 16.04-LTS e WindowsServer 2012-R2-DataCenter devem estar presentes no Azure Stack Hub Marketplace. Estas imagens podem ser descarregadas a partir do Azure ou adicionadas ao repositório de imagem da plataforma.
Execute o exemplo:
python example.py