Gerir pacotes Python 2 na Automatização do Azure

Este artigo descreve como importar, gerenciar e usar pacotes Python 2 na Automação do Azure em execução no ambiente de área restrita do Azure e no Hybrid Runbook Workers. Para ajudar a simplificar os runbooks, pode utilizar pacotes Python para importar os módulos de que precisa.

Para obter informações sobre como gerenciar pacotes Python 3, consulte Gerenciar pacotes Python 3.

Importar pacotes

  1. Na sua Conta de Automatização, selecione Pacotes Python em Recursos Partilhados. Selecione + Adicionar um pacote Python.

    A captura de tela da página de pacotes Python mostra pacotes Python no menu esquerdo e Adicionar um pacote Python realçado.

  2. Na página Adicionar Pacote Python , selecione um pacote local para carregar. O pacote pode ser um ficheiro .whl ou .tar.gz .

  3. Digite o nome e selecione a versão do Runtime como 2.x.x

  4. Selecione Importar.

    A captura de tela mostra a página Adicionar pacote Python com um arquivo de tar.gz carregado selecionado.

Depois que um pacote é importado, ele é listado na página de pacotes Python na sua conta de automação. Para remover um pacote, selecione o pacote e selecione Eliminar.

A captura de tela mostra a página de pacotes do Python 2.7.x após a importação de um pacote.

Importar pacotes com dependências

A Automação do Azure não resolve dependências para pacotes Python durante o processo de importação. Existem duas formas de importar um pacote com todas as suas dependências. Apenas um dos seguintes passos tem de ser utilizado para importar os pacotes para a sua conta de Automatização.

Transferir manualmente

Em uma máquina Windows de 64 bits com Python2.7 e pip instalado, execute o seguinte comando para baixar um pacote e todas as suas dependências:

C:\Python27\Scripts\pip2.7.exe download -d <output dir> <package name>

Depois que os pacotes forem baixados, você poderá importá-los para sua conta de automação.

Runbook

Para obter um runbook, importe pacotes do Python 2 do pypi para a conta de Automatização do Azure da organização do Gitbhub de Automatização do Azure para a sua conta de Automatização. Certifique-se de que as Definições de Execução estão definidas para o Azure e inicie o runbook com os parâmetros. Certifique-se de que a Identidade gerida está ativada para a sua conta de Automatização e tem acesso de Contribuidor de Automatização para uma importação bem-sucedida do pacote. Para cada parâmetro, certifique-se de que o inicia com o comutador, conforme se vê na seguinte lista e imagem:

  • -s <subscriptionId>
  • -g <resourceGroup>
  • -a <automationAccount>
  • -m <modulePackage>

A captura de tela mostra a página Visão geral do import_py2package_from_pypi com o painel Iniciar runbook no lado direito.

O runbook permite-lhe especificar o pacote a transferir. Por exemplo, o Azure uso do parâmetro baixa todos os módulos do Azure e todas as dependências (cerca de 105). Após a conclusão do runbook, pode verificar os pacotes do Python em Recursos Partilhados na sua conta de Automatização para verificar se o pacote foi importado corretamente.

Usar um pacote em um runbook

Com um pacote importado, você pode usá-lo em um runbook. Adicione o seguinte código para listar todos os grupos de recursos em uma assinatura do Azure:

#!/usr/bin/env python 
import os 
import requests 
# printing environment variables 
endPoint = os.getenv('IDENTITY_ENDPOINT') + "?resource=https://management.azure.com/" 
identityHeader = os.getenv('IDENTITY_HEADER') 
payload = {} 
headers = { 
    'X-IDENTITY-HEADER': identityHeader, 
    'Metadata': 'True' 
} 
response = requests.request("GET", endPoint, headers=headers, data=payload) 
print response.text 

Desenvolver e testar runbooks offline

Para desenvolver e testar seus runbooks Python 2 offline, você pode usar o módulo de ativos emulados Python da Automação do Azure no GitHub. Este módulo permite que você faça referência aos recursos compartilhados, como credenciais, variáveis, conexões e certificados.

Próximos passos

Para preparar um runbook do Python, consulte Criar um runbook do Python.