简体   繁体   English

如何使用 AWS SDK 部署特定堆栈?

[英]How to deploy a specific stack using AWS SDK?

In my AWS CDK/ Typescript project I have 1 main stack ie aws-microservices-stack.ts在我的 AWS CDK/Typescript 项目中,我有 1 个主堆栈,即aws-microservices-stack.ts

rest all typescript files are just constructs extended in aws-microservices-stack.ts其余所有打字稿文件只是在aws-microservices-stack.ts中扩展的构造

在此处输入图像描述

But when I run cdk deploy I get error但是当我运行cdk deploy我得到错误

Since this app includes more than a single stack, specify which stacks to use (wildcards are supported) or specify --all Stacks: AwsMicroservicesStack · AwsMicroservicesStack/Database · AwsMicroservicesStack/Microservices · AwsMicroservicesStack/ApiGateway由于此应用程序包含多个堆栈,请指定要使用的堆栈(支持通配符)或指定--all Stacks:AwsMicroservicesStack · AwsMicroservicesStack/Database · AwsMicroservicesStack/Microservices · AwsMicroservicesStack/ApiGateway

How can I mark aws-microservices-stack.ts so that deploy command picks up only that stack我如何标记aws-microservices-stack.ts以便部署命令仅选择该堆栈

aws-microservices-stack.ts aws-微服务-stack.ts

import { Stack, StackProps } from 'aws-cdk-lib';;
import { Construct } from 'constructs';
import { SwnApiGateway } from './apigateway';
import { SwnDatabase } from './database';
import { SwnMicroServices } from './microservices';

export class AwsMicroservicesStack extends Stack {
  constructor(scope: Construct, id: string, props?: StackProps) {
    super(scope, id, props);

    const database = new SwnDatabase(this, 'Database');
....

  }
}

database.ts数据库.ts

import { RemovalPolicy, Stack } from 'aws-cdk-lib';
import { AttributeType, BillingMode, ITable, Table } from 'aws-cdk-lib/aws-dynamodb';
import { Construct } from 'constructs';


export class SwnDatabase extends Stack {

  public readonly productTable: ITable;
  constructor(scope: Construct, id: string) {
    super(scope, id);

    // DynamoDb Table
    const productTable = new Table(this, 'product', {

      partitionKey: {
        name: 'id',
        type: AttributeType.STRING
      },
      tableName: 'product',
      removalPolicy: RemovalPolicy.DESTROY,
      billingMode: BillingMode.PAY_PER_REQUEST
    });

    this.productTable = productTable;


  }
}

You can't "mark" it for deployment, you need to specify which stack to deploy with:您不能“标记”它进行部署,您需要指定要部署的堆栈:

cdk deploy $yourstackname

The names of the declares stacks are listed by声明堆栈的名称由

cdk ls

Here you can read more about cdk stacks handling.在这里您可以阅读有关 cdk 堆栈处理的更多信息。

You can do你可以做

cdk deploy $stack_name --exclusively

From the CLI help docs:来自 CLI 帮助文档:

-e, --exclusively Only deploy requested stacks, don't include dependencies [boolean] -e, --exclusively 仅部署请求的堆栈,不包括依赖项 [boolean]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用 lerna 将 monorepo 代码部署到 AWS Lambda? - How do I deploy monorepo code to AWS Lambda using lerna? 使用 AWS 部署 Rails 3 站点 - Deploy Rails 3 site using AWS 如何使用适用于 Delphi 的 Appercept AWS SDK 获取存储桶中的对象列表? - How to get list of objects in bucket, using Appercept AWS SDK for Delphi? 如何在 C++ SDK 中使用 ListObjects() 访问 AWS“子文件夹”? - How to access AWS "subfolders" using ListObjects() in C++ SDK? 如何使用 AWS Go SDK 仅更新 DynamoDB 中的单个字段 - How to only update a single field in DynamoDB using AWS Go SDK 如何将 AWS CDK 堆栈部署到多个账户? - How to deploy AWS CDK stacks to multiple accounts? 如何在 aws ec2 中使用 jenkins docker 容器设置部署 nodejs 应用程序 - How to setup deploy nodejs app using jenkins docker container in aws ec2 如何在 nodejs 中使用 `aws-sdk` 读取 cloudwatch 日志 - How can I read cloudwatch logs using `aws-sdk`in nodejs 如何在golang中集成aws sdk ses? - How to integrate aws sdk ses in golang? 如何将 Firebase 存储规则部署到特定的存储桶? - How to deploy Firebase Storage rules to specific buckets?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM