Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

POLISHING REQUIREDThis article provides resolution steps for popular errors encountered when deploying applications on Nex!™ from S3.

Image Added


...

Table of Contents
stylenone

...


1 - Connection error to S3

When deploying an application from S3 you may see the following error:

Code Block
languagetext
('Connection aborted.', gaierror(-2, 'Name or service not known')

This means the AWS CLI is unable to locate the AWS region of your repository and is therefore not building the S3 url properly.

2 - Resolution for private buckets

It is very likely that the S3 credentials you used to link the application SCM are incorrect. AWS uses these credentials to lookup your bucket and automatically detect the bucket location. With invalid credentials the AWS CLI is unable to locate the region.

You can force the real error to appear by doing:

Code Block
languagebash
# Applicable if the S3 bucket is located in the ap-southeast-1 region
nex-cli apps:vars my_app -a S3_REGION=ap-southeast-1
nex-cli apps:up

The following error should appear in the the cubes:events command

Code Block
languagetext
A client error (Forbidden) occurred when calling the HeadObject operation: Forbidden

To solve this issue simply relink your container to S3 using the right credentials

Code Block
languagebash
# Relink your app
nex-cli apps:scm myapp --link s3:my-bucket/my_folder:my_branch --credentials MY_AWS_KEY:MY_AWS_SECRET


# For help
nex-cli apps:scm myapp -h

3 - Resolution for public buckets

With public buckets you do not need to provide credentials. However because credentials are not provided AWS is not always able to locate the AWS region your bucket is in.

Therefore it is preferable to specify the actual AWS region of your S3 bucket through your app environment variables.

Code Block
languagebash
# E.g. if your bucket is located in the ap-southeast-2 region
nex-cli apps:vars my_app -a S3_REGION=ap-southeast-2