跳转至

lambda-cmd

create execute role

save code

wget -O index.js 'https://raw.githubusercontent.com/panlm/aws-eks-example/main/lambda/kinesis-firehose-cloudwatch-logs-processor'
zip function.zip index.js

create lambda

role_arn=$(aws iam get-role --role-name ${role_name} |jq -r '.Role.Arn')
aws lambda create-function \
--function-name cwl-s3-${role_name} \
--timeout 60 \
--runtime 'nodejs14.x' \
--role ${role_arn} \
--zip-file fileb://function.zip \
--handler index.handler

add-layer-to-lambda-

  • upload zip package from mac to lambda, seems works
mkdir -p $$/python/lib/python3.11/site-packages
pip install flatten_json -t $$/python/lib/python3.11/site-packages
cd $$
zip -r package.zip ./python
  • push layer version
    aws lambda publish-layer-version --layer-name layer_flatten_json --description "flatten_json" --zip-file fileb://package.zip --compatible-runtimes python3.8
    layer_arn=$(aws lambda list-layer-versions --layer-name layer_flatten_json \
    --query 'LayerVersions[0].LayerVersionArn' --output text)
    
    aws lambda update-function-configuration --function-name ${lambda_name} \
    --layers ${layer_arn}