AWSCDK部署更改到Swagger时保留旧值
创始人
2024-09-24 02:00:25
0

在使用AWS CDK进行Swagger定义部署时,可能会遇到一个问题。在更新模型后重新生成Swagger时,一些旧的值仍然存在于Swagger定义中,从而导致Swagger定义不准确。这是由于AWS CDK缓存了Swagger定义,而没有正确更新缓存的原因。

解决此问题的一种方法是在重新生成Swagger定义之前清除所有缓存。以下代码演示如何使用AWS CDK清除Swagger定义缓存:

import * as AWS from 'aws-sdk';
import { CloudFormation } from 'aws-sdk';
import { Construct, Stage, StageProps } from 'aws-cdk-lib';
import { ApiStack } from './api-stack';

export class ApiPipelineStage extends Stage {
  constructor(scope: Construct, id: string, props?: StageProps) {
    super(scope, id, props);

    // Create API stack
    const apiStack = new ApiStack(this, 'ApiStack');

    // Invalidate Swagger cache
    const cloudFormation = new CloudFormation();
    const stackName = apiStack.stackName;
    const swaggerKey = `${stackName}/assets/swagger.json`;
    const s3 = new AWS.S3();
    s3.headObject({ Bucket: apiStack.artifactBucketName, Key: swaggerKey }).promise()
      .then(() => {
        console.log(`Invalidating Swagger cache for stack ${stackName}`);
        return cloudFormation.invalidateTypeCache({ TypeNames: ['AWS::ApiGateway::RestApi'] }).promise();
      })
      .catch((err) => {
        console.log(`Error invalidating Swagger cache: ${err.message}`);
      });
  }
}

这个示例代码使用AWS SDK和AWS CDK库来清除Swagger定义缓存。 CloudFormation类用于检索与API堆栈相关联的S3存储桶名称。然后,使用AWS SDK将S3对象的元数据检索为头信息,并使用AWS SDK的invalidateTypeCache方法来清除指定类型缓存。

以这种方式清除缓存后,重新生成Swagger定义时,将使用实际的更新值,而不是旧值。

相关内容

热门资讯

热点推荐!x-poker辅助软... 热点推荐!x-poker辅助软件,aapoker辅助工具,微扑克教程(一贯是真的有挂)是一款可以让一...
揭秘几款!wepoke有吗,w... 揭秘几款!wepoke有吗,wpk ai辅助,透明教程(原先是真的有挂)1、金币登录送、破产送、升级...
普及知识!智星德州辅助,wep... 普及知识!智星德州辅助,wepoke ai辅助,透牌教程(最初真的是有挂)1.wepoke ai辅助...
总算了解!红龙扑克电脑模拟器,... 总算了解!红龙扑克电脑模拟器,wpk透明挂,规律教程(真是存在有挂);小薇(透视辅助)致您一封信;亲...
科技揭秘!pokerwoeld... 科技揭秘!pokerwoeld安卓下载,德州之星有辅助挂,可靠教程(最初真的有挂)德州之星有辅助挂辅...
分享开挂内幕!德扑之星软件透明... 分享开挂内幕!德扑之星软件透明软件,aapoker有挂,微扑克教程(最初存在有挂)1、不需要AI权限...
详细说明!wpk辅助实时策略建... 详细说明!wpk辅助实时策略建议,微扑克ai机器人,分享教程(真是有挂)1、许多玩家不知道微扑克ai...
发现一款!德扑之星app发牌规... 发现一款!德扑之星app发牌规律,德州ai人工智能,揭秘攻略(一贯是有挂)1、许多玩家不知道德州ai...
实测发现!gg发牌控制,微扑克... 您好,微扑克全自动机器人这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家...
发现一款!wepoke辅助插件... 发现一款!wepoke辅助插件,wpk德州透视辅助,技巧教程(竟然真的是有挂)1.wpk德州透视辅助...