public sealed class CloudStorageConfig : IMessage<CloudStorageConfig>, IEquatable<CloudStorageConfig>, IDeepCloneable<CloudStorageConfig>, IBufferMessage, IMessage
Reference documentation and code samples for the Cloud Pub/Sub v1 API class CloudStorageConfig.
Required. User-provided name for the Cloud Storage bucket.
The bucket must be created by the user. The bucket name must be without
any prefix like "gs://". See the bucket naming
requirements.
Optional. The maximum bytes that can be written to a Cloud Storage file
before a new file is created. Min 1 KB, max 10 GiB. The max_bytes limit may
be exceeded in cases where messages are larger than the limit.
Optional. The maximum duration that can elapse before a new Cloud Storage
file is created. Min 1 minute, max 10 minutes, default 5 minutes. May not
exceed the subscription's acknowledgment deadline.
Optional. The service account to use to write to Cloud Storage. The
subscription creator or updater that specifies this field must have
iam.serviceAccounts.actAs permission on the service account. If not
specified, the Pub/Sub
service agent,
service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis webpage provides documentation for the \u003ccode\u003eCloudStorageConfig\u003c/code\u003e class within the Google Cloud Pub/Sub v1 API, detailing its properties and functionalities.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eCloudStorageConfig\u003c/code\u003e class is used to configure Cloud Storage subscriptions, allowing data to be written to Cloud Storage in either Avro or text format, as well as allowing the configuration of the storage bucket and file naming convention.\u003c/p\u003e\n"],["\u003cp\u003eUsers can customize aspects such as the maximum bytes, duration, or number of messages per file, as well as specify a service account for writing to Cloud Storage, alongside a wide range of versions offered.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation includes details about the inheritance, implemented interfaces, constructors, properties, and related types like \u003ccode\u003eAvroConfig\u003c/code\u003e, \u003ccode\u003eTextConfig\u003c/code\u003e, and \u003ccode\u003eState\u003c/code\u003e, and also links to inherited members and their descriptions.\u003c/p\u003e\n"]]],[],null,["# Cloud Pub/Sub v1 API - Class CloudStorageConfig (3.27.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.27.0 (latest)](/dotnet/docs/reference/Google.Cloud.PubSub.V1/latest/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.26.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.26.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.25.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.25.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.24.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.24.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.23.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.23.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.22.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.22.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.21.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.21.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.20.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.20.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.19.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.19.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.18.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.18.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.17.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.17.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.16.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.16.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.15.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.15.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.14.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.14.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.13.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.13.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.12.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.12.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.11.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.11.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.10.1](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.10.1/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.9.1](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.9.1/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.8.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.7.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.6.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.5.1](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.5.1/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.4.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.3.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.2.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.1.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/3.0.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [2.10.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/2.10.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [2.9.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/2.9.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [2.8.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/2.8.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [2.7.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/2.7.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [2.6.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/2.6.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/2.5.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/2.4.0/Google.Cloud.PubSub.V1.CloudStorageConfig)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.PubSub.V1/2.3.0/Google.Cloud.PubSub.V1.CloudStorageConfig) \n\n public sealed class CloudStorageConfig : IMessage\u003cCloudStorageConfig\u003e, IEquatable\u003cCloudStorageConfig\u003e, IDeepCloneable\u003cCloudStorageConfig\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Cloud Pub/Sub v1 API class CloudStorageConfig.\n\nConfiguration for a Cloud Storage subscription. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e CloudStorageConfig \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[CloudStorageConfig](/dotnet/docs/reference/Google.Cloud.PubSub.V1/latest/Google.Cloud.PubSub.V1.CloudStorageConfig), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[CloudStorageConfig](/dotnet/docs/reference/Google.Cloud.PubSub.V1/latest/Google.Cloud.PubSub.V1.CloudStorageConfig), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[CloudStorageConfig](/dotnet/docs/reference/Google.Cloud.PubSub.V1/latest/Google.Cloud.PubSub.V1.CloudStorageConfig), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.PubSub.V1](/dotnet/docs/reference/Google.Cloud.PubSub.V1/latest/Google.Cloud.PubSub.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.PubSub.V1.dll\n\nConstructors\n------------\n\n### CloudStorageConfig()\n\n public CloudStorageConfig()\n\n### CloudStorageConfig(CloudStorageConfig)\n\n public CloudStorageConfig(CloudStorageConfig other)\n\nProperties\n----------\n\n### AvroConfig\n\n public CloudStorageConfig.Types.AvroConfig AvroConfig { get; set; }\n\nOptional. If set, message data will be written to Cloud Storage in Avro\nformat.\n\n### Bucket\n\n public string Bucket { get; set; }\n\nRequired. User-provided name for the Cloud Storage bucket.\nThe bucket must be created by the user. The bucket name must be without\nany prefix like \"gs://\". See the [bucket naming\nrequirements](https://cloud.google.com/storage/docs/buckets#naming).\n\n### FilenameDatetimeFormat\n\n public string FilenameDatetimeFormat { get; set; }\n\nOptional. User-provided format string specifying how to represent datetimes\nin Cloud Storage filenames. See the [datetime format\nguidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).\n\n### FilenamePrefix\n\n public string FilenamePrefix { get; set; }\n\nOptional. User-provided prefix for Cloud Storage filename. See the [object\nnaming requirements](https://cloud.google.com/storage/docs/objects#naming).\n\n### FilenameSuffix\n\n public string FilenameSuffix { get; set; }\n\nOptional. User-provided suffix for Cloud Storage filename. See the [object\nnaming requirements](https://cloud.google.com/storage/docs/objects#naming).\nMust not end in \"/\".\n\n### MaxBytes\n\n public long MaxBytes { get; set; }\n\nOptional. The maximum bytes that can be written to a Cloud Storage file\nbefore a new file is created. Min 1 KB, max 10 GiB. The max_bytes limit may\nbe exceeded in cases where messages are larger than the limit.\n\n### MaxDuration\n\n public Duration MaxDuration { get; set; }\n\nOptional. The maximum duration that can elapse before a new Cloud Storage\nfile is created. Min 1 minute, max 10 minutes, default 5 minutes. May not\nexceed the subscription's acknowledgment deadline.\n\n### MaxMessages\n\n public long MaxMessages { get; set; }\n\nOptional. The maximum number of messages that can be written to a Cloud\nStorage file before a new file is created. Min 1000 messages.\n\n### OutputFormatCase\n\n public CloudStorageConfig.OutputFormatOneofCase OutputFormatCase { get; }\n\n### ServiceAccountEmail\n\n public string ServiceAccountEmail { get; set; }\n\nOptional. The service account to use to write to Cloud Storage. The\nsubscription creator or updater that specifies this field must have\n`iam.serviceAccounts.actAs` permission on the service account. If not\nspecified, the Pub/Sub\n[service agent](https://cloud.google.com/iam/docs/service-agents),\nservice-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.\n\n### State\n\n public CloudStorageConfig.Types.State State { get; set; }\n\nOutput only. An output-only field that indicates whether or not the\nsubscription can receive messages.\n\n### TextConfig\n\n public CloudStorageConfig.Types.TextConfig TextConfig { get; set; }\n\nOptional. If set, message data will be written to Cloud Storage in text\nformat."]]