Skip to main content
Google Cloud Documentation
Technology areas
  • AI and ML
  • Application development
  • Application hosting
  • Compute
  • Data analytics and pipelines
  • Databases
  • Distributed, hybrid, and multicloud
  • Industry solutions
  • Migration
  • Networking
  • Observability and monitoring
  • Security
  • Storage
Cross-product tools
  • Access and resources management
  • Costs and usage management
  • Infrastructure as code
  • SDK, languages, frameworks, and tools
/
Console
  • English
  • Deutsch
  • Español – América Latina
  • Français
  • Português – Brasil
  • 中文 – 简体
  • 日本語
  • 한국어
Sign in
  • C++
  • Client libraries
Start free
Overview Guides Reference Samples
Google Cloud Documentation
  • Technology areas
    • More
    • Overview
    • Guides
    • Reference
    • Samples
  • Cross-product tools
    • More
  • Console
  • Overview
  • Library reference docs
  • Google Cloud Storage C++ Client Library
  • In-Depth Topics
    • Environment Variables
    • Error Handling
    • Override the Default Endpoint
    • Override the authentication configuration
    • Override the default retry policies
    • Override the Default Universe Domain
    • Writing Tests with a Mock Client
  • Modules
    • GCS Client Library Configuration Options
  • Namespaces
    • google::cloud::storage
      • Overview
      • Classes
        • AlwaysRetryIdempotencyPolicy
          • Overview
          • Constructors
            • AlwaysRetryIdempotencyPolicy()
          • Functions
            • virtual IsIdempotent(internal::ListBucketsRequest const &) const
            • virtual IsIdempotent(internal::CreateBucketRequest const &) const
            • virtual IsIdempotent(internal::GetBucketMetadataRequest const &) const
            • virtual IsIdempotent(internal::DeleteBucketRequest const &) const
            • virtual IsIdempotent(internal::UpdateBucketRequest const &) const
            • virtual IsIdempotent(internal::PatchBucketRequest const &) const
            • virtual IsIdempotent(internal::GetBucketIamPolicyRequest const &) const
            • virtual IsIdempotent(internal::SetNativeBucketIamPolicyRequest const &) const
            • virtual IsIdempotent(internal::TestBucketIamPermissionsRequest const &) const
            • virtual IsIdempotent(internal::LockBucketRetentionPolicyRequest const &) const
            • virtual IsIdempotent(internal::InsertObjectMediaRequest const &) const
            • virtual IsIdempotent(internal::CopyObjectRequest const &) const
            • virtual IsIdempotent(internal::GetObjectMetadataRequest const &) const
            • virtual IsIdempotent(internal::ReadObjectRangeRequest const &) const
            • virtual IsIdempotent(internal::ListObjectsRequest const &) const
            • virtual IsIdempotent(internal::DeleteObjectRequest const &) const
            • virtual IsIdempotent(internal::UpdateObjectRequest const &) const
            • virtual IsIdempotent(internal::MoveObjectRequest const &) const
            • virtual IsIdempotent(internal::PatchObjectRequest const &) const
            • virtual IsIdempotent(internal::ComposeObjectRequest const &) const
            • virtual IsIdempotent(internal::RewriteObjectRequest const &) const
            • virtual IsIdempotent(internal::RestoreObjectRequest const &) const
            • virtual IsIdempotent(internal::ResumableUploadRequest const &) const
            • virtual IsIdempotent(internal::UploadChunkRequest const &) const
            • virtual IsIdempotent(internal::ListBucketAclRequest const &) const
            • virtual IsIdempotent(internal::CreateBucketAclRequest const &) const
            • virtual IsIdempotent(internal::DeleteBucketAclRequest const &) const
            • virtual IsIdempotent(internal::GetBucketAclRequest const &) const
            • virtual IsIdempotent(internal::UpdateBucketAclRequest const &) const
            • virtual IsIdempotent(internal::PatchBucketAclRequest const &) const
            • virtual IsIdempotent(internal::ListObjectAclRequest const &) const
            • virtual IsIdempotent(internal::CreateObjectAclRequest const &) const
            • virtual IsIdempotent(internal::DeleteObjectAclRequest const &) const
            • virtual IsIdempotent(internal::GetObjectAclRequest const &) const
            • virtual IsIdempotent(internal::UpdateObjectAclRequest const &) const
            • virtual IsIdempotent(internal::PatchObjectAclRequest const &) const
            • virtual IsIdempotent(internal::ListDefaultObjectAclRequest const &) const
            • virtual IsIdempotent(internal::CreateDefaultObjectAclRequest const &) const
            • virtual IsIdempotent(internal::DeleteDefaultObjectAclRequest const &) const
            • virtual IsIdempotent(internal::GetDefaultObjectAclRequest const &) const
            • virtual IsIdempotent(internal::UpdateDefaultObjectAclRequest const &) const
            • virtual IsIdempotent(internal::PatchDefaultObjectAclRequest const &) const
            • virtual IsIdempotent(internal::GetProjectServiceAccountRequest const &) const
            • virtual IsIdempotent(internal::ListHmacKeysRequest const &) const
            • virtual IsIdempotent(internal::CreateHmacKeyRequest const &) const
            • virtual IsIdempotent(internal::DeleteHmacKeyRequest const &) const
            • virtual IsIdempotent(internal::GetHmacKeyRequest const &) const
            • virtual IsIdempotent(internal::UpdateHmacKeyRequest const &) const
            • virtual IsIdempotent(internal::SignBlobRequest const &) const
            • virtual IsIdempotent(internal::ListNotificationsRequest const &) const
            • virtual IsIdempotent(internal::CreateNotificationRequest const &) const
            • virtual IsIdempotent(internal::GetNotificationRequest const &) const
            • virtual IsIdempotent(internal::DeleteNotificationRequest const &) const
            • virtual clone() const
        • AsyncClient
          • Overview
          • Constructors
            • AsyncClient(Options)
            • AsyncClient(std::shared_ptr< AsyncConnection >)
          • Functions
            • InsertObject(BucketName const &, std::string, Collection &&, Options)
            • InsertObject(google::storage::v2::WriteObjectRequest, Collection &&, Options)
            • InsertObject(google::storage::v2::WriteObjectRequest, WritePayload, Options)
            • Open(BucketName const &, std::string, Options)
            • Open(google::storage::v2::BidiReadObjectSpec, Options)
            • ReadObject(BucketName const &, std::string, Options)
            • ReadObject(google::storage::v2::ReadObjectRequest, Options)
            • ReadObjectRange(BucketName const &, std::string, std::int64_t, std::int64_t, Options)
            • ReadObjectRange(google::storage::v2::ReadObjectRequest, std::int64_t, std::int64_t, Options)
            • StartAppendableObjectUpload(BucketName const &, std::string, Options)
            • StartAppendableObjectUpload(google::storage::v2::BidiWriteObjectRequest, Options)
            • ResumeAppendableObjectUpload(BucketName const &, std::string, std::int64_t, Options)
            • StartBufferedUpload(BucketName const &, std::string, Options)
            • StartBufferedUpload(google::storage::v2::StartResumableWriteRequest, Options)
            • ResumeBufferedUpload(std::string, Options)
            • ResumeBufferedUpload(google::storage::v2::QueryWriteStatusRequest, Options)
            • StartUnbufferedUpload(BucketName const &, std::string, Options)
            • StartUnbufferedUpload(google::storage::v2::StartResumableWriteRequest, Options)
            • ResumeUnbufferedUpload(std::string, Options)
            • ResumeUnbufferedUpload(google::storage::v2::QueryWriteStatusRequest, Options)
            • ComposeObject(BucketName const &, std::string, std::vector< google::storage::v2::ComposeObjectRequest::SourceObject >, Options)
            • ComposeObject(google::storage::v2::ComposeObjectRequest, Options)
            • DeleteObject(BucketName const &, std::string, Options)
            • DeleteObject(BucketName const &, std::string, std::int64_t, Options)
            • DeleteObject(google::storage::v2::DeleteObjectRequest, Options)
            • StartRewrite(BucketName const &, std::string, BucketName const &, std::string, Options)
            • StartRewrite(google::storage::v2::RewriteObjectRequest, Options)
            • ResumeRewrite(BucketName const &, std::string, BucketName const &, std::string, std::string, Options)
            • ResumeRewrite(google::storage::v2::RewriteObjectRequest, Options)
        • AsyncConnection
          • Overview
          • Constructors
            • AppendableUploadParams
              • Overview
            • ComposeObjectParams
              • Overview
            • DeleteObjectParams
              • Overview
            • InsertObjectParams
              • Overview
            • OpenParams
              • Overview
            • ReadObjectParams
              • Overview
            • ResumeUploadParams
              • Overview
            • RewriteObjectParams
              • Overview
            • UploadParams
              • Overview
          • Functions
            • options() const
            • InsertObject(InsertObjectParams)
            • Open(OpenParams)
            • ReadObject(ReadObjectParams)
            • ReadObjectRange(ReadObjectParams)
            • StartAppendableObjectUpload(AppendableUploadParams)
            • ResumeAppendableObjectUpload(AppendableUploadParams)
            • StartUnbufferedUpload(UploadParams)
            • StartBufferedUpload(UploadParams)
            • ResumeUnbufferedUpload(ResumeUploadParams)
            • ResumeBufferedUpload(ResumeUploadParams)
            • ComposeObject(ComposeObjectParams)
            • DeleteObject(DeleteObjectParams)
            • RewriteObject(RewriteObjectParams)
        • AsyncIdempotencyPolicy
          • Overview
          • Functions
            • virtual ReadObject(google::storage::v2::ReadObjectRequest const &)
            • virtual InsertObject(google::storage::v2::WriteObjectRequest const &)
            • virtual WriteObject(google::storage::v2::WriteObjectRequest const &)
            • virtual ComposeObject(google::storage::v2::ComposeObjectRequest const &)
            • virtual DeleteObject(google::storage::v2::DeleteObjectRequest const &)
            • virtual RewriteObject(google::storage::v2::RewriteObjectRequest const &)
        • AsyncReader
          • Overview
          • Constructors
            • AsyncReader(AsyncReader &&)
            • AsyncReader(AsyncReader const &)
            • AsyncReader()
            • AsyncReader(std::unique_ptr< AsyncReaderConnection >)
          • Operators
            • operator=(AsyncReader &&)
            • operator=(AsyncReader const &)
          • Functions
            • Read(AsyncToken)
            • GetRequestMetadata()
        • AsyncReaderConnection
          • Overview
          • Functions
            • Cancel()
            • Read()
            • GetRequestMetadata()
          • Types
            • ReadResponse
        • AsyncRetryPolicy
          • Overview
          • Functions
            • clone() const
            • OnFailure(Status const &)
            • OnFailure(Status const &)
            • IsExhausted() const
            • IsExhausted() const
            • IsPermanentFailure(Status const &) const
            • IsPermanentFailure(Status const &) const
        • AsyncRewriter
          • Overview
          • Constructors
            • AsyncRewriter(AsyncRewriter &&)
            • AsyncRewriter(AsyncRewriter const &)
            • AsyncRewriter()
            • AsyncRewriter(std::shared_ptr< AsyncRewriterConnection >)
          • Operators
            • operator=(AsyncRewriter &&)
            • operator=(AsyncRewriter const &)
          • Functions
            • Iterate(AsyncToken)
        • AsyncRewriterConnection
          • Overview
          • Functions
            • Iterate()
        • AsyncToken
          • Overview
          • Constructors
            • AsyncToken()
            • AsyncToken(AsyncToken &&)
            • AsyncToken(AsyncToken const &)
          • Operators
            • operator=(AsyncToken &&)
            • operator=(AsyncToken const &)
            • operator==(AsyncToken const &, AsyncToken const &)
            • operator!=(AsyncToken const &, AsyncToken const &)
          • Functions
            • valid() const
        • AsyncWriter
          • Overview
          • Constructors
            • AsyncWriter(AsyncWriter &&)
            • AsyncWriter(AsyncWriter const &)
            • AsyncWriter()
            • AsyncWriter(std::unique_ptr< AsyncWriterConnection >)
          • Operators
            • operator=(AsyncWriter &&)
            • operator=(AsyncWriter const &)
          • Functions
            • UploadId() const
            • PersistedState() const
            • Write(AsyncToken, WritePayload)
            • Finalize(AsyncToken)
            • Finalize(AsyncToken, WritePayload)
            • Flush()
            • Close()
            • GetRequestMetadata() const
        • AsyncWriterConnection
          • Overview
          • Functions
            • Cancel()
            • UploadId() const
            • PersistedState() const
            • Write(WritePayload)
            • Finalize(WritePayload)
            • Flush(WritePayload)
            • Query()
            • GetRequestMetadata()
            • WriteHandle() const
        • BucketAccessControl
          • Overview
          • Constructors
            • BucketAccessControl()
          • Operators
            • operator==(BucketAccessControl const &, BucketAccessControl const &)
            • operator!=(BucketAccessControl const &, BucketAccessControl const &)
          • Functions
            • bucket() const
            • domain() const
            • email() const
            • entity() const
            • entity_id() const
            • etag() const
            • id() const
            • kind() const
            • has_project_team() const
            • project_team() const
            • project_team_as_optional() const
            • role() const
            • self_link() const
            • set_entity(std::string)
            • set_role(std::string)
            • set_bucket(std::string)
            • set_domain(std::string)
            • set_email(std::string)
            • set_entity_id(std::string)
            • set_etag(std::string)
            • set_id(std::string)
            • set_kind(std::string)
            • set_project_team(ProjectTeam)
            • set_self_link(std::string)
            • static ROLE_OWNER()
            • static ROLE_READER()
            • static TEAM_EDITORS()
            • static TEAM_OWNERS()
            • static TEAM_VIEWERS()
        • BucketAccessControlPatchBuilder
          • Overview
          • Constructors
            • BucketAccessControlPatchBuilder()
          • Functions
            • BuildPatch() const
            • set_entity(std::string const &)
            • delete_entity()
            • set_role(std::string const &)
            • delete_role()
        • BucketMetadata
          • Overview
          • Constructors
            • BucketMetadata()
          • Operators
            • operator==(BucketMetadata const &, BucketMetadata const &)
            • operator!=(BucketMetadata const &, BucketMetadata const &)
          • Functions
            • acl() const
            • mutable_acl()
            • set_acl(std::vector< BucketAccessControl >)
            • has_autoclass() const
            • autoclass() const
            • autoclass_as_optional() const
            • set_autoclass(BucketAutoclass)
            • reset_autoclass()
            • has_billing() const
            • billing() const
            • billing_as_optional() const
            • set_billing(BucketBilling const &)
            • reset_billing()
            • default_event_based_hold() const
            • set_default_event_based_hold(bool)
            • cors() const
            • mutable_cors()
            • set_cors(std::vector< CorsEntry >)
            • default_acl() const
            • mutable_default_acl()
            • set_default_acl(std::vector< ObjectAccessControl >)
            • has_encryption() const
            • encryption() const
            • encryption_as_optional() const
            • set_encryption(BucketEncryption)
            • reset_encryption()
            • has_hierarchical_namespace() const
            • hierarchical_namespace() const
            • hierarchical_namespace_as_optional() const
            • set_hierarchical_namespace(BucketHierarchicalNamespace)
            • reset_hierarchical_namespace()
            • has_iam_configuration() const
            • iam_configuration() const
            • iam_configuration_as_optional() const
            • set_iam_configuration(BucketIamConfiguration)
            • reset_iam_configuration()
            • has_label(std::string const &) const
            • label(std::string const &) const
            • delete_label(std::string const &)
            • upsert_label(std::string, std::string)
            • labels() const
            • mutable_labels()
            • has_lifecycle() const
            • lifecycle() const
            • lifecycle_as_optional() const
            • set_lifecycle(BucketLifecycle)
            • reset_lifecycle()
            • has_logging() const
            • logging() const
            • logging_as_optional() const
            • set_logging(BucketLogging)
            • reset_logging()
            • has_retention_policy() const
            • retention_policy() const
            • retention_policy_as_optional() const
            • set_retention_policy(BucketRetentionPolicy)
            • set_retention_policy(std::chrono::seconds)
            • reset_retention_policy()
            • rpo() const
            • set_rpo(std::string)
            • has_soft_delete_policy() const
            • soft_delete_policy() const
            • soft_delete_policy_as_optional() const
            • set_soft_delete_policy(BucketSoftDeletePolicy)
            • set_soft_delete_policy(std::chrono::seconds)
            • reset_soft_delete_policy()
            • storage_class() const
            • set_storage_class(std::string)
            • versioning() const
            • has_versioning() const
            • enable_versioning()
            • disable_versioning()
            • reset_versioning()
            • set_versioning(absl::optional< BucketVersioning >)
            • has_website() const
            • website() const
            • website_as_optional() const
            • set_website(BucketWebsite)
            • reset_website()
            • has_custom_placement_config() const
            • custom_placement_config() const
            • custom_placement_config_as_optional() const
            • set_custom_placement_config(BucketCustomPlacementConfig)
            • reset_custom_placement_config()
            • etag() const
            • set_etag(std::string)
            • id() const
            • set_id(std::string)
            • kind() const
            • set_kind(std::string)
            • location() const
            • set_location(std::string)
            • location_type() const
            • set_location_type(std::string)
            • metageneration() const
            • set_metageneration(std::int64_t)
            • name() const
            • set_name(std::string)
            • has_object_retention() const
            • object_retention() const
            • set_object_retention(BucketObjectRetention)
            • reset_object_retention()
            • has_owner() const
            • owner() const
            • set_owner(Owner)
            • reset_owner()
            • project_number() const
            • set_project_number(std::int64_t)
            • self_link() const
            • set_self_link(std::string)
            • time_created() const
            • set_time_created(std::chrono::system_clock::time_point)
            • updated() const
            • set_updated(std::chrono::system_clock::time_point)
        • BucketMetadataPatchBuilder
          • Overview
          • Constructors
            • BucketMetadataPatchBuilder()
          • Functions
            • BuildPatch() const
            • SetAcl(std::vector< BucketAccessControl > const &)
            • ResetAcl()
            • SetAutoclass(BucketAutoclass const &)
            • ResetAutoclass()
            • SetBilling(BucketBilling const &)
            • ResetBilling()
            • SetCors(std::vector< CorsEntry > const &)
            • ResetCors()