首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何自动禁用路径和资产的AWS元数据?

如何自动禁用路径和资产的AWS元数据?
EN

Stack Overflow用户
提问于 2021-09-23 16:12:58
回答 1查看 774关注 0票数 2

有3种类型的元数据CDK正在写入CFN。版本、路径和资产。有关于如何禁用版本元数据的文档,它运行得很好,但我正在努力解决其余的问题。CLI选项--路径元数据错误--资产元数据错误工作得很好,但是有点烦人。

我已经看过CDK源代码,试图找出插入cdk.json的关键词,但是它们被忽略了。下面是详细的cdk输出,它读取我的设置,似乎忽略了我关心的2。

代码语言:javascript
复制
cdk.json: {
  "app": "python app.py",
  "versionReporting": false,              <-- custom, works as intended
  "assetMetadata": false,                 <-- custom, doesn't seem to do anything
  "pathMetadata": false,                  <-- custom, doesn't seem to do anything
  "context": {
    "@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": true,
    "@aws-cdk/core:stackRelativeExports": "true",
    "@aws-cdk/aws-rds:lowercaseDbIdentifier": true,
    "@aws-cdk/aws-lambda:recognizeVersionProps": true,
    "@aws-cdk/core:bootstrapQualifier": "myQualifier",
    "aws:cdk:enable-path-metadata": false, <-- custom, produces namespace warnings
    "aws:cdk:enable-asset-metadata": false, <-- custom, produces namespace warnings

  }
}
merged settings: {                        <------------results of combined settings
  versionReporting: false,                <-- worked
  pathMetadata: true,                     <--didn't work
  output: 'cdk.out',
  app: 'python app.py',
  assetMetadata: true,                    <--didn't work
  context: {
    '@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId': true,
    '@aws-cdk/core:stackRelativeExports': 'true',
    '@aws-cdk/aws-rds:lowercaseDbIdentifier': true,
    '@aws-cdk/aws-lambda:recognizeVersionProps': true,
    '@aws-cdk/core:bootstrapQualifier': 'myQualifier',
    'aws:cdk:enable-path-metadata': false, <-- seems like a dud
    'aws:cdk:enable-asset-metadata': false,<-- seems like a dud
  },
  debug: false,
  profile: 'mycdkIAMUser',
  toolkitBucket: {},
  staging: true,
  bundlingStacks: [ 'my-cdk-policies' ],
  lookups: true
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-07 23:24:09

从CDK源代码来看,似乎CLI选项是目前唯一可行的选项。

看看execProgram()第23至31行

代码语言:javascript
复制
const pathMetadata: boolean = config.settings.get(['pathMetadata']) ?? true;
if (pathMetadata) {
  context[cxapi.PATH_METADATA_ENABLE_CONTEXT] = true;
}

const assetMetadata: boolean = config.settings.get(['assetMetadata']) ?? true;
if (assetMetadata) {
  context[cxapi.ASSET_RESOURCE_METADATA_ENABLED_CONTEXT] = true;
}

CLI选项都默认为true,然后覆盖它们各自的上下文变量。可能是错误报告的罪证。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69303532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档