Treinamento
Certificação
Microsoft Certified: Power Automate RPA Developer Associate - Certifications
Demonstre como melhorar e automatizar fluxos de trabalho com o desenvolvedor de RPA do Microsoft Power Automate.
Não há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
Este artigo descreve como importar, gerenciar e usar pacotes Python 3 na Automação do Azure em execução no ambiente de área restrita do Azure e em Hybrid Runbook Workers. Os pacotes do Python devem ser baixados em Hybrid Runbook Workers para execução bem-sucedida do trabalho. Como uma ajuda para simplificar os runbooks, você pode usar pacotes Python para importar os módulos necessários.
Para obter informações de como gerenciar pacotes Python 2, confira Gerenciar pacotes Python 2.
Para dar suporte a runbooks do Python 3.8 no serviço de Automação, alguns pacotes Python são instalados por padrão e uma lista desses pacotes está aqui. A versão padrão pode ser substituída importando pacotes Python na sua conta de Automação.
A preferência é dada à versão importada em sua conta de Automação. Para importar um único pacote, confira Importar um pacote. Para importar um pacote com vários pacotes, confira Importar um pacote com dependências.
Observação
Não há pacotes padrão instalados para Python 3.10 (versão prévia).
A Automação do Azure dá suporte apenas a um pacote do Python que contém apenas o código Python e não inclui outras extensões de linguagem ou código em outras linguagens. No entanto, o ambiente de área restrita do Azure pode não ter os compiladores necessários para binários C/C++, portanto, é recomendável usar arquivos de roda em vez disso.
Observação
Atualmente, o Python 3.10 (versão prévia) só dá suporte a arquivos de roda.
O Índice de pacote Python (PyPI) é um repositório de software para a linguagem de programação Python. Ao selecionar um pacote Python 3 para importar para sua conta de Automação a partir do PyPI, observe as seguintes partes de nome de arquivo:
Selecione uma versão do Python:
Parte de nome de arquivo | Descrição |
---|---|
cp38 | A Automação dá suporte a Python 3.8 para trabalhos na nuvem. |
amd64 | Os processos da área restrita do Azure são da arquitetura Windows 64 bits. |
Por exemplo:
pandas-1.2.3-cp38-win_amd64.whl
.Alguns pacotes do Python disponíveis no PyPI não fornecem um arquivo de roda. Nesse caso, baixe a fonte (arquivo .zip ou. tar.gz) e gere o arquivo de roda usando pip
.
Execute as etapas a seguir usando uma máquina Windows de 64 bits com Python 3.8.x e o pacote de roda instalados:
pandas-1.2.4.tar.gz
.pip wheel --no-deps pandas-1.2.4.tar.gz
Na sua conta de Automação, selecione Pacotes do Python em Recursos Compartilhados. Selecione + Adicionar pacote do Python.
Na página Adicionar um pacote Python, selecione um pacote local a ser carregado. O pacote pode ser um arquivo .whl ou .tar.gz para Python 3.8 e um arquivo .whl para Python 3.10 (versão prévia).
Insira um nome e selecione a Versão do Runtime como Python 3.8 ou Python 3.10 (versão prévia).
Observação
Atualmente, a versão do runtime do Python 3.10 (versão prévia) tem suporte para trabalhos de Nuvem e Híbrido em todas as regiões Públicas, exceto Austrália Central2, Sul da Coreia, Sul da Suécia, Jio Índia Central, Sudeste do Brasil, Índia Central, Oeste da Índia, EAU Central e Nuvens Gov.
Selecione Importar.
Depois que um pacote for importado, ele será listado na página Pacotes Python em sua conta de Automação. Para remover um pacote, selecione-o e selecione Excluir.
Para importar um pacote do Python 3.8 e as dependências, importe o seguinte script Python em um runbook do Python 3.8. Verifique se a Identidade gerenciada está habilitada para sua conta de Automação e tem acesso de Colaborador de Automação para importação bem-sucedida do pacote.
https://github.com/azureautomation/runbooks/blob/master/Utility/Python/import_py3package_from_pypi.py
Para obter informações sobre como importar o runbook, confira Importar um runbook do portal do Azure. Copie o arquivo de GitHub para o armazenamento que o portal pode acessar antes de executar a importação.
Observação
Atualmente, não há suporte para a importação de um runbook do Portal do Azure para o Python 3.10 (versão prévia).
A página Importar um runbook usa como padrão o nome do runbook para corresponder ao nome do script. Se você tiver acesso ao campo, poderá alterar o nome. O Tipo do runbook pode usar como padrão o Python 2.7. Se isso acontecer, mude-o para Python 3.8.
Depois de criar e publicar o runbook, execute-o para importar o pacote. Confira Iniciar um runbook na Automação do Azure para obter detalhes sobre como executar o runbook.
O script (import_py3package_from_pypi.py
) exige os seguintes parâmetros.
Parâmetro | Descrição |
---|---|
subscription_id | ID da assinatura da conta da Automação |
resource_group | Nome do grupo de recursos em que a conta da Automação está definida |
automation_account | Nome da conta da Automação |
module_name | Nome do módulo a ser importado de pypi.org |
module_version | A versão do módulo |
O valor do parâmetro deve ser fornecido como uma única cadeia de caracteres no formato abaixo:
-s <subscription_id> -g <resource_group> -a<automation_account> -m <module_name> -v <module_version>
Para obter mais informações sobre como usar parâmetros com runbooks, confira Trabalhar com parâmetros de runbook.
Com o pacote importado, você pode usá-lo em um runbook. Adicione o código a seguir para listar todos os grupos de recursos em uma assinatura do Azure.
#!/usr/bin/env python3
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)
Observação
O pacote automationassets
do Python não está disponível em pypi.org, portanto, ele não está disponível para importação em um trabalho de runbook híbrido do Windows.
Use o seguinte código para listar os módulos padrão instalados:
#!/usr/bin/env python3
import pkg_resources
installed_packages = pkg_resources.working_set
installed_packages_list = sorted(["%s==%s" % (i.key, i.version)
for i in installed_packages])
for package in installed_packages_list:
print(package)
New-AzAutomationPython3Package -AutomationAccountName tarademo -ResourceGroupName mahja -Name requires.io -ContentLinkUri https://files.pythonhosted.org/packages/7f/e2/85dfb9f7364cbd7a9213caea0e91fc948da3c912a2b222a3e43bc9cc6432/requires.io-0.2.6-py2.py3-none-any.whl
Response
ResourceGroupName : mahja
AutomationAccountName : tarademo
Name : requires.io
IsGlobal : False
Version :
SizeInBytes : 0
ActivityCount : 0
CreationTime : 9/26/2022 1:37:13 PM +05:30
LastModifiedTime : 9/26/2022 1:37:13 PM +05:30
ProvisioningState : Creating
Get-AzAutomationPython3Package -AutomationAccountName tarademo -ResourceGroupName mahja
Response :
ResourceGroupName : mahja
AutomationAccountName : tarademo
Name : cryptography
IsGlobal : False
Version :
SizeInBytes : 0
ActivityCount : 0
CreationTime : 9/26/2022 11:52:28 AM +05:30
LastModifiedTime : 9/26/2022 12:11:00 PM +05:30
ProvisioningState : Failed
ResourceGroupName : mahja
AutomationAccountName : tarademo
Name : requires.io
IsGlobal : False
Version :
SizeInBytes : 0
ActivityCount : 0
CreationTime : 9/26/2022 1:37:13 PM +05:30
LastModifiedTime : 9/26/2022 1:39:04 PM +05:30
ProvisioningState : ContentValidated
ResourceGroupName : mahja
AutomationAccountName : tarademo
Name : sockets
IsGlobal : False
Version : 1.0.0
SizeInBytes : 4495
ActivityCount : 0
CreationTime : 9/20/2022 12:46:28 PM +05:30
LastModifiedTime : 9/22/2022 5:03:42 PM +05:30
ProvisioningState : Succeeded
Get-AzAutomationPython3Package -AutomationAccountName tarademo -ResourceGroupName mahja -Name sockets
Response
ResourceGroupName : mahja
AutomationAccountName : tarademo
Name : sockets
IsGlobal : False
Version : 1.0.0
SizeInBytes : 4495
ActivityCount : 0
CreationTime : 9/20/2022 12:46:28 PM +05:30
LastModifiedTime : 9/22/2022 5:03:42 PM +05:30
ProvisioningState : Succeeded
Remove-AzAutomationPython3Package -AutomationAccountName tarademo -ResourceGroupName mahja -Name sockets
Set-AzAutomationPython3Package -AutomationAccountName tarademo -ResourceGroupName mahja -Name requires.io -ContentLinkUri https://files.pythonhosted.org/packages/7f/e2/85dfb9f7364cbd7a9213caea0e91fc948da3c912a2b222a3e43bc9cc6432/requires.io-0.2.6-py2.py3-none-any.whl
ResourceGroupName : mahja
AutomationAccountName : tarademo
Name : requires.io
IsGlobal : False
Version : 0.2.6
SizeInBytes : 10109
ActivityCount : 0
CreationTime : 9/26/2022 1:37:13 PM +05:30
LastModifiedTime : 9/26/2022 1:43:12 PM +05:30
ProvisioningState : Creating
Para preparar um runbook do Python, confira Criar um runbook do Python.
Treinamento
Certificação
Microsoft Certified: Power Automate RPA Developer Associate - Certifications
Demonstre como melhorar e automatizar fluxos de trabalho com o desenvolvedor de RPA do Microsoft Power Automate.