COMO EXECUTAR AWS CLI DENTRO DE UMA LAMBDA

Опубликовано: 19 Июнь 2026
на канале: DevOps na Infra
652
40

Neste vídeo ensino como executamos o AWS CLI dentro de uma Lambda Function em Python, isto te ajudará muito em automatizar o seu ambiente da AWS!

Comandos para criação do AWS CLI no virtualenv do Python:

sudo apt install python3 python3-pip python3-virtualenv zip -y
mkdir awscli
cd awscli
export PYTHON_VERSION=`python3 -c 'import sys; version=sys.version_info[:3]; print("{0}.{1}".format(*version))'`
export VIRTUAL_ENV_DIR="awscli-venv"
export LAMBDA_LAYER_DIR="lambda-layer"
export ZIP_FILE_NAME="lambda-layer.zip"
mkdir ${VIRTUAL_ENV_DIR}
virtualenv ${VIRTUAL_ENV_DIR} -p $(which python3)
cd ${VIRTUAL_ENV_DIR}/bin/
source activate
pip3 install awscli
sed -i "1s/.*/\#\!\/var\/lang\/bin\/python/" aws
deactivate
cd ../..
mkdir ${LAMBDA_LAYER_DIR}
cd ${LAMBDA_LAYER_DIR}
cp ../${VIRTUAL_ENV_DIR}/bin/aws .
cp -r ../${VIRTUAL_ENV_DIR}/lib/python${PYTHON_VERSION}/site-packages/* .
zip -r ../${ZIP_FILE_NAME} *
cd ..
rm -r ${VIRTUAL_ENV_DIR}
rm -r ${LAMBDA_LAYER_DIR}

Código Python usado na nossa aula:

import subprocess
import logging

logger = logging.getLogger()
logger.setLevel(logging.INFO)

def run_command(command):
command_list = command.split(' ')
#print(command_list)
try:
logger.info("Running shell command: \"{}\"".format(command))
result = subprocess.run(command_list, stderr=subprocess.STDOUT, stdout=subprocess.PIPE);
#print(result)
logger.info("Command output:\n---\n{}\n---".format(result.stdout.decode('UTF-8')))
except Exception as e:
logger.error("Exception: {}".format(e))
return False

return result

def lambda_handler(event, context):

run_command('/opt/aws ec2 terminate-instances --instance-ids i-0b384d299939488fb')

Gostou do vídeo? Curte ae!

Se inscreva no canal!

Dúvidas, críticas ou sugestões entre em contato no e - mail: [email protected]

#aws
#lambda
#awscli