跳至内容

在堆栈部署更新之后进行API调用

0

【以下的问题经过翻译处理】 我有一个CDK堆栈stackA,它创建了一个已部署在阶段和产品环境中的CloudFront分配。

我希望每次重新部署stackA(更新CF分配)时进行一次API调用到secretsmanager.rotateSecret

这个API调用(secretsmanager.rotateSecret)的目的是使用secretmanager中存储的密钥值更新CF分配中的标头值。

我看到我可以使用AwsCustomResource来进行API调用,但onCreateonUpdateonDelete属性代表自定义资源本身的生命周期事件,并在自定义资源自身创建,更新或删除时调用。

我想要实现的具体场景是:

  • cdk deploy stackA(用于CloudFront分配更新)
  • 一旦CloudFront堆栈完成更新==>然后调用secretsmanager.rotateSecret操作(通过在另一个管理器中存储的密钥的值更新CF中的标头)

有没有办法实现这种情况?

1 回答
0

【以下的回答经过翻译处理】 在CF堆栈末尾使用了AwsCustomResource SecretManager服务的示例代码:

    const apiKeysRotationTrigger = new AwsCustomResource(
      this,
      "ident",
      {
        policy: AwsCustomResourcePolicy.fromSdkCalls({
          resources: AwsCustomResourcePolicy.ANY_RESOURCE,
        }),
        onCreate: {
          service: "SecretsManager",
          action: "rotateSecret",
          parameters: {
            SecretId: "SecretId",
          },
          physicalResourceId: PhysicalResourceId.of("PhysicalResourceId"),
        },
        onUpdate: {
          service: "SecretsManager",
          action: "rotateSecret",
          parameters: {
            SecretId: "SecretId",
          },
          physicalResourceId: PhysicalResourceId.of("PhysicalResourceId"),
        },
      }
    );
  }

专家

已回答 3 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。