node.js - การแก้ไขข้อผิดพลาด "app is required" ใน AWS CDK
ฉันกำลังพยายามรันฟังก์ชันนี้:
"cdk deploy --require-approval never"
แต่ฉันกำลังได้รับข้อผิดพลาดนี้:
--app is required either in command-line, in cdk.json or in ~/.cdk.json
ฉันจะแก้ไขสิ่งนี้ได้อย่างไร? นี่คือสิ่งที่ฉันมีในไฟล์ cdk.json ของฉัน:
{
"app": "npx ts-node --prefer-ts-exts bin/project-infra.ts",
}
และนี่คือรหัสโครงสร้างพื้นฐานของโครงการของฉัน:
import * as cdk from 'aws-cdk-lib';
import { Construct } from 'constructs';
import * as lambda from 'aws-cdk-lib/aws-lambda';
// import * as sqs from 'aws-cdk-lib/aws-sqs';
export class ProjectInfraStack extends cdk.Stack {
constructor(scope: Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const layer = new lambda.LayerVersion(this, "BaseLayer", {
code: lambda.Code.fromAsset("lambda_base_layer/layer.zip")
compatibleRuntimes: [lambda.Runtime.PYTHON_3_9],
});
const apiLambda = new lambda.Function(this, "ApiFunction", {
runtime: lambda.Runtime.PYTHON_3_9,
code: lambda.Code.fromAsset("../main_app/"),
handler: "main.handler",
layers: [layer],
});
}
}
คำตอบ #1
ข้อความนี้มักหมายความว่าคุณไม่ได้อยู่ในไดเรกทอรีหลักของโครงการ AWS CDK ของคุณเมื่อคุณสั่ง cdk synth ไฟล์ cdk.json ในไดเรกทอรีนี้ ซึ่งสร้างโดยคำสั่ง cdk init จะประกอบด้วยคำสั่งที่จำเป็นในการรัน (และจึงสังเคราะห์) แอป AWS CDK ของคุณ สำหรับแอป TypeScript ไฟล์ cdk.json เริ่มต้นจะมีลักษณะประมาณนี้:
{
"app": "npx ts-node bin/my-cdk-app.ts"
}
นี่คือปัญหาที่พบบ่อยซึ่งถูกอธิบายในเอกสาร CDK:
การแก้ไขปัญหาที่พบบ่อยของ AWS CDK
