Skip to main content

CDK - Error: unable to determine cloud assembly asset output directory. Assets must be defined indirectly within a "Stage" or an "App" scope

Cause:

Got this error after executing 

1) `npm install @aws-cdk/aws-lambda`

2) `cdk diff` --> threw error

This is because of the version mismatch of @aws-cdk/aws-lambda package against @aws-cdk/core.

The package.json file looked like this:

"dependencies": {

    "@aws-cdk/aws-lambda": "^1.78.0",

    "@aws-cdk/aws-sns": "1.49.1",

    "@aws-cdk/aws-sns-subscriptions": "1.49.1",

    "@aws-cdk/aws-sqs": "1.49.1",

    "@aws-cdk/core": "1.49.1"

  }


Fix:

Updated the package.json file as follows:

"dependencies": {

    "@aws-cdk/aws-lambda": "1.49.1", --> changed here

    "@aws-cdk/aws-sns": "1.49.1",

    "@aws-cdk/aws-sns-subscriptions": "1.49.1",

    "@aws-cdk/aws-sqs": "1.49.1",

    "@aws-cdk/core": "1.49.1"

  }

And then running `npm i` fixed the issue.

From next time on, install packages with specific version.

`npm install @aws-cdk/aws-apigateway@1.49.1`.

This will update the package.json file as follows:

"dependencies": {

    "@aws-cdk/aws-apigateway": "^1.49.1",

    "@aws-cdk/aws-lambda": "1.49.1",

    "@aws-cdk/aws-sns": "1.49.1",

    "@aws-cdk/aws-sns-subscriptions": "1.49.1",

    "@aws-cdk/aws-sqs": "1.49.1",

    "@aws-cdk/core": "1.49.1"

  }

Comments

Popular posts from this blog

How to install/upgrade/downgrade kubectl in Linux (Ubuntu)?

To install the latest version: curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256" echo "$(<kubectl.sha256) kubectl" | sha256sum --check sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl kubectl version --client kubectl version To install a specific (v1.19.0) version: curl -LO "https://dl.k8s.io/release/v1.19.0/bin/linux/amd64/kubectl" curl -LO "https://dl.k8s.io/v1.19.0/bin/linux/amd64/kubectl.sha256" echo "$(<kubectl.sha256) kubectl" | sha256sum --check sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl kubectl version --client kubectl version This will install kubectl client. Run minikube start to install kubectl server.

High availability (Multi-AZ) for Amazon RDS

There is something called failover technology in Amazon. AWS RDS's Multi-AZ deployment uses this technology. If you enable Multi-AZ for an RDS DB, say MySQL DB, RDS automatically creates a standby replica in a different AZ. If the primary DB instance is in AZ-1A, then RDS creates a standby replica in AZ-1B (for example). Suppose I add a new row to a table in the primary DB, then the same row is added, almost in the same time, in the standby replica. This is called as synchronous replication . Thus, standby replicas are useful during DB instance failure/ AZ disruption . How? Because, there is no need to create a backup later because the backup has already been created. This gives high availability during planned system maintenance. Normal backup  operation - I/O activities are blocked in the primary database  Automated backup operation (standby replica) - I/O activities are not blocked This standby replica is not similar to read replica (which is used for disaster recovery). S...

Application Load Balancer (ALB)

The ALB spans all subnets in a VPC i.e., it is not inside a subnet but VPC. ALB is bound to Target Groups (TGs). TGs are bound to subnets.