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

AWS Route53 - Private Hosted Zone

AWS - Error - An error occurred (ExpiredToken) when calling the DescribeStacks operation: The security token included in the request is expired

Error:   An error occurred (ExpiredToken) when calling the DescribeStacks operation: The security token included in the request is expired. Reason: It occurred when I ran a MAKE command with a profile having expired token (security credentials) Fix: Generate new security credentials (aws sts assume-role) and run the command again

AWS CloudTrail

AWS CloudTrail is an API monitoring service.  It records activities in your account. We can log those activities in S3 bucket It gives visibility to user activities e.g., if you want to know who created an EC2 instance, you can get the answer using CloudTrail Using CloudTrail, you can track changes to AWS resources in your accounts