Class UploadObjectOptions (4.0.0)

public sealed class UploadObjectOptions

Options for UploadObject operations.

Inheritance

Object > UploadObjectOptions

Namespace

Google.Cloud.Storage.V1

Assembly

Google.Cloud.Storage.V1.dll

Fields

MinimumChunkSize

public const int MinimumChunkSize = 262144

The minimum chunk size for uploading.

Field Value
TypeDescription
Int32

Properties

ChunkSize

public int? ChunkSize { get; set; }

The chunk size to use for each request. When setting to a non-null value, this must be a positive multiple of MinimumChunkSize.

Property Value
TypeDescription
Nullable<Int32>

EncryptionKey

public EncryptionKey EncryptionKey { get; set; }

The customer-supplied encryption key to use for this operation. If this property is null, the EncryptionKey will be used instead. Use None to remove encryption headers from this request.

Property Value
TypeDescription
EncryptionKey

IfGenerationMatch

public long? IfGenerationMatch { get; set; }

Precondition for upload: the object is only uploaded if the existing object's generation matches the given value.

Property Value
TypeDescription
Nullable<Int64>

IfGenerationNotMatch

public long? IfGenerationNotMatch { get; set; }

Precondition for upload: the object is only uploaded if the existing object's generation does not match the given value.

Property Value
TypeDescription
Nullable<Int64>

IfMetagenerationMatch

public long? IfMetagenerationMatch { get; set; }

Precondition for upload: the object is only uploaded if the existing object's meta-generation matches the given value.

Property Value
TypeDescription
Nullable<Int64>

IfMetagenerationNotMatch

public long? IfMetagenerationNotMatch { get; set; }

Precondition for upload: the object is only uploaded if the existing object's meta-generation does not match the given value.

Property Value
TypeDescription
Nullable<Int64>

KmsKeyName

public string KmsKeyName { get; set; }

The name of the Cloud KMS key to use to encrypt the object.

Property Value
TypeDescription
String
Remarks

Currently, either customer-supplied encryption or a Cloud KMS key can be used, but not both. If this property is null and customer-supplied encryption is not being used, the bucket encryption defaults will be used to determine the encryption for the object. If this property is non-null and the client object has a default encryption key, the EncryptionKey property of this options object must be set to None to make the intention clear.

Origin

public string Origin { get; set; }

If set, an Origin header is included when initiating the resumable upload. This allows for Cross-Origin Resource Sharing, as documented at https://cloud.google.com/storage/docs/cross-origin.

Property Value
TypeDescription
String

PredefinedAcl

public PredefinedObjectAcl? PredefinedAcl { get; set; }

A pre-defined ACL for simple access control scenarios.

Property Value
TypeDescription
Nullable<PredefinedObjectAcl>

Projection

public Projection? Projection { get; set; }

The projection of the uploaded object to retrieve.

Property Value
TypeDescription
Nullable<Projection>

UploadValidationMode

public UploadValidationMode? UploadValidationMode { get; set; }

Specifies how the upload should be validated for data integrity. If this property is null, this is equivalent to DeleteAndThrow.

Property Value
TypeDescription
Nullable<UploadValidationMode>
Remarks

The hash is only validated at the end of the upload, after the object has been created. An exception is thrown if it's incorrect, but the object will still exist unless the validation action deletes it.

UserProject

public string UserProject { get; set; }

If set, this is the ID of the project which will be billed for the request. The caller must have suitable permissions for the project being billed.

Property Value
TypeDescription
String