aws:executeScript
– Executa um script
Executa o script do Python ou PowerShell fornecido, usando o runtime e o handler especificados. Cada ação aws:executeScript
pode ser executada por uma duração máxima de dez minutos (600 segundos). Você pode limitar o tempo limite especificando o parâmetro timeoutSeconds
para uma etapa aws:executeScript
.
Use instruções de retorno em sua função para adicionar saídas à carga útil da saída. Para obter exemplos de definição de saídas para sua ação aws:executeScript
, consulte Exemplo 2: Runbook com script. Também é possível enviar o resultado das ações do aws:executeScript
nos runbooks para o grupo de logs do Amazon CloudWatch Logs especificado. Para ter mais informações, consulte Registro de saída de ações do Automation em log com o CloudWatch Logs.
Se quiser enviar a saída de ações aws:executeScript
ao CloudWatch Logs ou se os scripts que você especificar para ações aws:executeScript
chamarem opções de API da AWS, um perfil de serviço do AWS Identity and Access Management (IAM) (ou uma função de recepção) sempre será necessário para executar o runbook.
A ação aws:executeScript
contém os módulos pré-instalados do PowerShell Core a seguir.
-
Microsoft.PowerShell.Host
-
Microsoft.PowerShell.Management
-
Microsoft.PowerShell.Security
-
Microsoft.PowerShell.Utility
-
PackageManagement
-
PowerShellGet
Para usar módulos do PowerShell Core que não estão pré-instalados, o script deve instalar o módulo com o sinalizador -Force
, conforme mostrado no comando a seguir. Não há suporte ao módulo AWSPowerShell.NetCore
. Substitua ModuleName
pelo nome do módulo que deseja instalar.
Install-Module
ModuleName
-Force
Para usar cmdlets do PowerShell Core em seu script, recomendamos o uso dos módulos AWS.Tools
, conforme mostrado nos comandos a seguir. Substitua cada espaço reservado para recurso de exemplo
por suas próprias informações.
-
Cmdlets do Amazon S3.
Install-Module AWS.Tools.S3 -Force Get-S3Bucket -BucketName
amzn-s3-demo-bucket
-
cmdlets do Amazon EC2
Install-Module AWS.Tools.EC2 -Force Get-EC2InstanceStatus -InstanceId
instance-id
-
cmdlets do AWS Tools for Windows PowerShell comuns ou independentes de serviço.
Install-Module AWS.Tools.Common -Force Get-AWSRegion
Se o script inicializar novos objetos além de usar cmdlets do PowerShell Core, você também deverá importar o módulo conforme mostrado no comando a seguir.
Install-Module AWS.Tools.EC2 -Force Import-Module AWS.Tools.EC2 $tag = New-Object Amazon.EC2.Model.Tag $tag.Key = "Tag" $tag.Value = "TagValue" New-EC2Tag -Resource
i-02573cafcfEXAMPLE
-Tag $tag
Para obter exemplos de instalação e importação dos módulos AWS.Tools
e do uso de cmdlets do PowerShell Core em runbooks, consulte Experiência de design visual para runbooks de automação.
Entrada
Forneça as informações necessárias para executar o script. Substitua cada espaço reservado para recurso de exemplo
por suas próprias informações.
nota
O anexo de um script Python pode ser um arquivo .py ou um arquivo .zip contendo o script. É necessário armazenar os scripts do PowerShell em arquivos .zip.
- Runtime
-
A linguagem do runtime a ser usado para executar o script fornecido. O
aws:executeScript
oferece suporte a scripts Python 3.7 (python3.7), Python 3.8 (python3.8), Python 3.9 (python3.9)Python 3.10 (python3.10), Python 3.11 (python3.11) PowerShell Core 6.0 (dotnetcore2.1) e PowerShell 7.0 (dotnetcore3.1).Valores compatíveis:
python3.7
|python3.8
|python3.9
|python3.10
|python3.11
|PowerShell Core 6.0
|PowerShell 7.0
Tipo: string
Obrigatório: Sim
- Manipulador
-
Escolha o nome da função. É necessário garantir que a função definida no manipulador tenha dois parâmetros,
events
econtext
. O runtime do PowerShell não oferece suporte a este parâmetro.Tipo: string
Obrigatório: sim (Python) | sem suporte (PowerShell)
- InputPayload
-
Um objeto JSON ou YAML que será passado para o primeiro parâmetro do manipulador. Isso pode ser usado para passar dados de entrada para o script.
Tipo: string
Obrigatório: não
- Script
-
Um script incorporado que você precisa executar durante a execução da automação.
Tipo: string
Obrigatório: não (Python) | sim (PowerShell)
- Attachment
-
O nome de um arquivo de script autônomo ou arquivo .zip que pode ser invocado pela ação. Especifique o mesmo valor do
Name
do arquivo de anexo de documento especificado no parâmetro de solicitação deAttachments
. Para obter mais informações, consulte Anexos na Referência de API do AWS Systems Manager. Se você estiver fornecendo um script usando um anexo, você deverá definir uma seçãofiles
nos elementos de nível superior do seu runbook. Para ter mais informações, consulte Versão 0.3 do esquema.Para invocar um arquivo para Python, use o formato
filename.method_name
noHandler
.nota
O anexo de um script Python pode ser um arquivo .py ou um arquivo .zip contendo o script. É necessário armazenar os scripts do PowerShell em arquivos .zip.
Ao incluir bibliotecas Python em seu anexo, recomendamos adicionar um arquivo
__init__.py
em cada diretório do módulo. Isso permite que você importe os módulos da biblioteca em seu anexo dentro do conteúdo do script. Por exemplo:from library import module
Tipo: string
Obrigatório: Não
Saída
- Carga útil
-
A representação JSON do objeto retornado pela função. Até 100 KB é retornado. Se você gerar uma lista, haverá o retorno de no máximo de 100 itens.