Get a lifecycle policy for a bucket
Stay organized with collections
Save and categorize content based on your preferences.
View the lifecycle configuration of a Cloud Storage bucket.
Explore further
For detailed documentation that includes this code sample, see the following:
Code sample
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License
, and code samples are licensed under the Apache 2.0 License
. For details, see the Google Developers Site Policies
. Java is a registered trademark of Oracle and/or its affiliates.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],[],[],[],null,["# Get a lifecycle policy for a bucket\n\nView the lifecycle configuration of a Cloud Storage bucket.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Manage object lifecycles](/storage/docs/managing-lifecycles)\n\nCode sample\n-----------\n\n### C++\n\n\nFor more information, see the\n[Cloud Storage C++ API\nreference documentation](/cpp/docs/reference/storage/latest).\n\n\nTo authenticate to Cloud Storage, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for client libraries](/storage/docs/authentication#client-libs).\n\n namespace gcs = ::google::cloud::storage;\n using ::google::cloud::StatusOr;\n [](gcs::Client client, std::string const& bucket_name) {\n StatusOr\u003cgcs::BucketMetadata\u003e updated_metadata =\n client.GetBucketMetadata(bucket_name);\n if (!updated_metadata) throw std::move(updated_metadata).status();\n\n if (!updated_metadata-\u003ehas_lifecycle() ||\n updated_metadata-\u003elifecycle().rule.empty()) {\n std::cout \u003c\u003c \"Bucket lifecycle management is not enabled for bucket \"\n \u003c\u003c updated_metadata-\u003ename() \u003c\u003c \".\\n\";\n return;\n }\n std::cout \u003c\u003c \"Bucket lifecycle management is enabled for bucket \"\n \u003c\u003c updated_metadata-\u003ename() \u003c\u003c \".\\n\";\n std::cout \u003c\u003c \"The bucket lifecycle rules are\";\n for (auto const& kv : updated_metadata-\u003elifecycle().rule) {\n std::cout \u003c\u003c \"\\n \" \u003c\u003c kv.condition() \u003c\u003c \", \" \u003c\u003c kv.action();\n }\n std::cout \u003c\u003c \"\\n\";\n }\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=storage)."]]