用途:该技能用于搭建 Nuxt + AWS Terraform 基础设施,可在不依赖 CLI 的情况下直接生成项目文件。适用于初始化带 AppSync、DynamoDB、Cognito 的新项目,以及为既有项目添加 GraphQL 解析器、Lambda 函数和 Terraform 测试。\n\n主要能力:\n1. Init 初始化:按用户提供的项目名、函数前缀(PascalCase)、AWS 配置、区域(默认 ap-southeast-2)等生成目录结构与模板文件;可从 ~/.aws/credentials 与 ~/.aws/config 解析配置名,也可通过 aws configure --profile <name> 新增。\n2. GraphQL Resolver:生成解析器相关文件,需指定模型名、query/mutation、解析器名(camelCase)、运行时(APPSYNC_JS 或 LAMBDA)、DynamoDB 操作与字段;复杂 APPSYNC_JS 模式建议配合 aws-appsync-resolver 技能。\n3. Lambda Function:生成标准或 cron 类型函数及相关 Terraform 模块,cron 需提供 EventBridge 表达式,如 rate(5 minutes)。\n4. Terraform Test:生成 .tftest.hcl 测试文件,支持 unit、integration、mock 三类测试。\n\n命名约定:函数前缀 PascalCase;完整 Lambda 名 <prefix><PascalSuffix>;解析器名 camelCase;GraphQL 常量为 SCREAMING_SNAKE_CASE;模块名如 appsync_function_<camelName>、lambda_function_<camelName>;组合式文件 use<Model>.ts;DynamoDB 数据源与数据表按模块规则命名。\n\n使用限制:生成过程要求幂等,不覆盖已存在文件,需先读取 terraform-scaffold.config.ts 获取 functionPrefix,并检查 schema.graphql、TF 文件、graphql 文件与组合式函数是否重复;生成后应运行 terraform fmt、terraform validate,测试文件运行 terraform test;若提供程序未初始化则跳过并提示先运行 terraform init。资料未提供具体价格、平台覆盖或效果保证。
nuxt-terraform
部署与运维
更新于 10-16 04:57