簡體   English   中英

使用 NodeJS 創建 AWS S3 object 生命周期

[英]Creating AWS S3 object life cycle using NodeJS

使用 NodeJS 創建 AWS S3 object 生命周期。

我想使用 NodeJS 通過 API 創建 S3 object 生命周期。 看到文檔,AWS只提供了多個object生命周期,有Java。

https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html

我還檢查了這個 url -

https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getBucketLifecycle-property

普遍關注

如何像 Java 那樣使用 NodeJS 設置多個轉換?

BucketLifecycleConfiguration.Rule rule2 = new BucketLifecycleConfiguration.Rule()
                .withId("Archive and then delete rule")
                .withFilter(new LifecycleFilter(new LifecycleTagPredicate(new Tag("archive", "true"))))
                .addTransition(new Transition().withDays(30).withStorageClass(StorageClass.StandardInfrequentAccess))
                .addTransition(new Transition().withDays(365).withStorageClass(StorageClass.Glacier))
                .withExpirationInDays(3650)
                .withStatus(BucketLifecycleConfiguration.ENABLED);

其次是 - https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html

任何幫助都會很棒。

我們需要調用putBucketLifecycle並將Rules Array 傳遞給LifecycleConfiguration 類似於CLI 示例

s3.putBucketLifecycle(
  {
    Bucket: "sample-temp-bucket",
    LifecycleConfiguration: {
      Rules: [
        {
          Filter: {
            And: {
              Prefix: "myprefix",
              Tags: [
                {
                  Value: "mytagvalue1",
                  Key: "mytagkey1",
                },
                {
                  Value: "mytagvalue2",
                  Key: "mytagkey2",
                },
              ],
            },
          },
          Status: "Enabled",
          Expiration: {
            Days: 1,
          },
        },
        {
          Filter: {
            Prefix: "documents/",
          },
          Status: "Enabled",
          Transitions: [
            {
              Days: 365,
              StorageClass: "GLACIER",
            },
          ],
          Expiration: {
            Days: 3650,
          },
          ID: "ExampleRule",
        },
      ],
    },
  },
  (error, result) => {
    if (error) console.log("error", error);
    if (result) console.log("result", result);
  }
);

暫無
暫無

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

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