ablog

不器用で落着きのない技術者のメモ

AWS CLI でS3バケットのライフサイクル設定を取得する

AWS CLI でS3バケットのライフサイクル設定を取得する例。

  • ライフサイクル設定を取得する。
$ aws s3api get-bucket-lifecycle-configuration --bucket az-cp-src
{
    "Rules": [
        {
            "Filter": {
                "Tag": {
                    "Value": "10y",
                    "Key": "Name"
                }
            },
            "Status": "Enabled",
            "Expiration": {
                "Days": 365
            },
            "ID": "test"
        },
        {
            "Filter": {
                "Prefix": ""
            },
            "Status": "Enabled",
            "Expiration": {
                "Days": 365
            },
            "ID": "test2"
        }
    ]
}
  • ルールIDでフィルタする。
$ aws s3api get-bucket-lifecycle-configuration --bucket az-cp-src|\
jq '.Rules[]|select(.ID == "test")' 
{
  "Filter": {
    "Tag": {
      "Value": "10y",
      "Key": "Name"
    }
  },
  "Status": "Enabled",
  "Expiration": {
    "Days": 365
  },
  "ID": "test"
}
  • さらにCSVで出力する。
$ aws s3api get-bucket-lifecycle-configuration --bucket az-cp-src|\
jq -r '.Rules[]|select(.ID == "test")|@text "\(.ID), \(.Status), \(.Expiration.Days), \(.Tag.Name), \(.Tag.Value)"'
test, Enabled, 365, null, null