簡體   English   中英

如何將生命周期策略添加到 AWS CDK Typescript 中的現有 S3 存儲桶

[英]How to add a lifecycle policy to an existing S3 bucket in AWS CDK Typescript

我已經使用下面導入了一個 S3 存儲桶

const importbucket = s3.Bucket.fromBucketAttributes(this, 'ImportedBucket', {
  bucketArn: 'arn:aws:s3:::BUCKETNAME'

});

現在我正在嘗試添加生命周期規則,

如果存儲桶是在堆棧中創建的,我知道我們有 2 個選項,如下所示

選項1:

const nitinbucket = new s3.Bucket(this, 'bucket', {
  bucketName: 'sdasbktjsdhfksajdkdjlkas',
  removalPolicy: RemovalPolicy.DESTROY,
  versioned: false, 
});

nitinbucket.addLifecycleRule({
  abortIncompleteMultipartUploadAfter: Duration.days(7),
  enabled: true,
  expiration: Duration.days(75),
  id: 'rule',
});

選項 2:

const myBucket = new s3.Bucket(this, 'BuckyMcBucketface', {
  lifecycleRules: [
      {
          transitions: [
              {
                  storageClass: s3.StorageClass.INFREQUENT_ACCESS,
                  transitionAfter: cdk.Duration.days(30),
              },
          ],
      },
  ],

});

我想要的是導入現有存儲桶並將轉換規則添加到存儲桶(類似於選項2)

謝謝 !

生命周期配置是創建 S3 存儲桶的同一 cloudformation 資源的一部分。 除非我們使用自定義資源,否則不支持對在 cloudformation/CDK 之外手動創建的資源進行更改。

以下是我們可以在不使用自定義資源的情況下執行的一些步驟。

  • 創建一個只有 1 個資源的空 cdk 項目,創建 s3 存儲桶(不導入現有存儲桶),其配置與您當前的 S3 存儲桶相同。
  • cdk synth並生成雲形成模板。
  • 使用此處記錄的 cloudformation 導入過程和適用於 DynamoDB 的Here示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM