Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

575
Visualizações
Error while creating lambda function via CLI using gitlab CI (Error parsing parameter '--zip-file': Unable to load paramfile)

I am deploying aws handler scripts as zip files in S3 bucket. Now, I want to use this deployed zipped file in lambda function. I am doing all of this via gitlab CI.

I have the following CI:

image: ubuntu:18.04

variables:
    GIT_SUBMODULE_STRATEGY: recursive
    AWS_DEFAULT_REGION: eu-central-1
    S3_BUCKET: $BUCKET_TRIAL

stages:
    - deploy

.before_script_template: &before_script_definition
    stage: deploy
    before_script:
        - apt-get -y update 
        - apt-get -y install python3-pip python3.7 zip
        - python3.7 -m pip install --upgrade pip
        - python3.7 -V
        - pip3.7 install virtualenv

.after_script_template: &after_script_definition
    after_script:
        # Upload package to S3
        # Install AWS CLI
        - pip install awscli --upgrade # --user
        - export PATH=$PATH:~/.local/bin  # Add to PATH
        # Configure AWS connection
        - aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID
        - aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY
        - aws configure set default.region $AWS_DEFAULT_REGION
        - aws sts get-caller-identity --output text --query 'Account'
        - aws s3 cp ~/forlambda/archive.zip $BUCKET_TRIAL/${LAMBDA_NAME}-deployment.zip
        - aws lambda create-function --function-name "${LAMBDA_NAME}-2" --runtime python3.7 --role arn:aws:iam::xxxxxxxxxxxx:role/abc_scripts --handler ${HANDLER_SCRIPT_NAME}.${HANDLER_FUNCTION} --memory-size 1024 --zip-file "fileb://$BUCKET_TRIAL/${LAMBDA_NAME}-deployment.zip"

my_job:
    variables:
        LAMBDA_NAME: my_lambda
        HANDLER_SCRIPT_NAME: my_aws_handler
        HANDLER_FUNCTION: my_handler_function
    <<: *before_script_definition
    script:
        # - move scripts around and install requirements and zip the file for lambda deployment
    <<: *after_script_definition

For the CI, I have added Environment variables $BUCKET_TRIAL and is of the form s3://my-folder

When the CI file is run, it throws the following error in the end:

Error parsing parameter '--zip-file': Unable to load paramfile fileb://s3://my-folder/my_lambda-deployment.zip: [Errno 2] No such file or directory: 's3://my-folder/my_lambda-deployment.zip'

I also tried changing the --zip-file in the last line of the after_script as:

- aws lambda create-function --function-name "${LAMBDA_NAME}-2" --runtime python3.7 --role arn:aws:iam::xxxxxxxxxxxx:role/abc_scripts --handler ${HANDLER_SCRIPT_NAME}.${HANDLER_FUNCTION} --memory-size 1024 --zip-file "fileb:///my-folder/${LAMBDA_NAME}-deployment.zip"

But it still throws the same error.

Am I missing something here?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Based on the discussion in chat.

The solution was to use

--zip-file fileb:///root/forlambda/archive.zip

instead of

--zip-file "fileb://$BUCKET_TRIAL/${LAMBDA_NAME}-deployment.zip"

The reason is that --zip-file requires a local path to a zip deployment package, rather than a remote location in s3.

From docs:

--zip-file (blob): The path to the zip file of the code you are uploading. Example: fileb://code.zip

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda