Class Storage.BlobWriteOption

java.lang.Object
com.google.cloud.storage.Option<com.google.cloud.storage.UnifiedOpts.ObjectTargetOpt>
com.google.cloud.storage.Storage.BlobWriteOption
All Implemented Interfaces:
Serializable
Enclosing interface:
Storage

public static class Storage.BlobWriteOption extends Option<com.google.cloud.storage.UnifiedOpts.ObjectTargetOpt> implements Serializable
Class for specifying blob write options.
See Also:
  • Method Details

    • predefinedAcl

      @TransportCompatibility({HTTP,GRPC}) public static Storage.BlobWriteOption predefinedAcl(@NonNull Storage.PredefinedAcl acl)
      Returns an option for specifying blob's predefined ACL configuration.
    • doesNotExist

      @TransportCompatibility({HTTP,GRPC}) public static Storage.BlobWriteOption doesNotExist()
      Returns an option that causes an operation to succeed only if the target blob does not exist.
    • generationMatch

      @TransportCompatibility({HTTP,GRPC}) public static Storage.BlobWriteOption generationMatch()
      Returns an option for blob's data generation match. If this option is used the request will fail if generation does not match.
    • generationMatch

      @TransportCompatibility({HTTP,GRPC}) public static Storage.BlobWriteOption generationMatch(long generation)
      Returns an option for blob's data generation match. If this option is used the request will fail if blob's generation does not match the provided value.
    • generationNotMatch

      @TransportCompatibility({HTTP,GRPC}) public static Storage.BlobWriteOption generationNotMatch()
      Returns an option for blob's data generation mismatch. If this option is used the request will fail if generation matches.
    • generationNotMatch

      @TransportCompatibility({HTTP,GRPC}) public static Storage.BlobWriteOption generationNotMatch(long generation)
      Returns an option for blob's data generation mismatch. If this option is used the request will fail if blob's generation does not match the provided value.
    • metagenerationMatch

      @TransportCompatibility({HTTP,GRPC}) public static Storage.BlobWriteOption metagenerationMatch()
      Returns an option for blob's metageneration match. If this option is used the request will fail if metageneration does not match.
    • metagenerationMatch

      @TransportCompatibility({HTTP,GRPC}) public static Storage.BlobWriteOption metagenerationMatch(long metageneration)
      Returns an option for blob's metageneration match. If this option is used the request will fail if blob's generation does not match the provided value.
    • metagenerationNotMatch

      @TransportCompatibility({HTTP,GRPC}) public static Storage.BlobWriteOption metagenerationNotMatch()
      Returns an option for blob's metageneration mismatch. If this option is used the request will fail if metageneration matches.
    • metagenerationNotMatch

      @TransportCompatibility({HTTP,GRPC}) public static Storage.BlobWriteOption metagenerationNotMatch(long metageneration)
      Returns an option for blob's metageneration mismatch. If this option is used the request will fail if blob's generation does not match the provided value.
    • md5Match

      Deprecated.
      Please compute and use a crc32c checksum instead. crc32cMatch()
      Returns an option for blob's data MD5 hash match. If this option is used the request will fail if blobs' data MD5 hash does not match.
    • crc32cMatch

      @TransportCompatibility({HTTP,GRPC}) public static Storage.BlobWriteOption crc32cMatch()
      Returns an option for blob's data CRC32C checksum match. If this option is used the request will fail if blobs' data CRC32C checksum does not match.
    • encryptionKey

      @TransportCompatibility({HTTP,GRPC}) public static Storage.BlobWriteOption encryptionKey(@NonNull Key key)
      Returns an option to set a customer-supplied AES256 key for server-side encryption of the blob.
    • encryptionKey

      @TransportCompatibility({HTTP,GRPC}) public static Storage.BlobWriteOption encryptionKey(@NonNull String key)
      Returns an option to set a customer-supplied AES256 key for server-side encryption of the blob.
      Parameters:
      key - the AES256 encoded in base64
    • kmsKeyName

      @TransportCompatibility({HTTP,GRPC}) public static Storage.BlobWriteOption kmsKeyName(@NonNull String kmsKeyName)
      Returns an option to set a customer-managed KMS key for server-side encryption of the blob.
      Parameters:
      kmsKeyName - the KMS key resource id
    • userProject

      @TransportCompatibility({HTTP,GRPC}) public static Storage.BlobWriteOption userProject(@NonNull String userProject)
      Returns an option for blob's billing user project. This option is only used by the buckets with 'requester_pays' flag.
    • disableGzipContent

      @TransportCompatibility({HTTP,GRPC}) public static Storage.BlobWriteOption disableGzipContent()
      Returns an option that signals automatic gzip compression should not be performed en route to the bucket.
    • detectContentType

      @TransportCompatibility({HTTP,GRPC}) public static Storage.BlobWriteOption detectContentType()
      Returns an option for detecting content type. If this option is used, the content type is detected from the blob name if not explicitly set. This option is on the client side only, it does not appear in a RPC call.

      Content type detection is based on the database presented by URLConnection.getFileNameMap()

    • expectedObjectSize

      @BetaApi @TransportCompatibility({HTTP,GRPC}) public static Storage.BlobWriteOption expectedObjectSize(long objectContentSize)
      Set a precondition on the number of bytes that GCS should expect for a resumable upload. See the docs for X-Upload-Content-Length for more detail.

      If the method invoked with this option does not perform a resumable upload, this option will be ignored.

      Since:
      2.42.0
    • extraHeaders

      @TransportCompatibility({HTTP,GRPC}) public static Storage.BlobWriteOption extraHeaders(@NonNull com.google.common.collect.ImmutableMap<String,String> extraHeaders)
      A set of extra headers to be set for all requests performed within the scope of the operation this option is passed to (a get, read, resumable upload etc).

      If the same header name is specified across multiple options provided to a method, the first occurrence will be the value included in the request(s).

      The following headers are not allowed to be specified, and will result in an IllegalArgumentException.

      1. Accept-Encoding
      2. Cache-Control
      3. Connection
      4. Content-ID
      5. Content-Length
      6. Content-Range
      7. Content-Transfer-Encoding
      8. Content-Type
      9. Date
      10. ETag
      11. If-Match
      12. If-None-Match
      13. Keep-Alive
      14. Range
      15. TE
      16. Trailer
      17. Transfer-Encoding
      18. User-Agent
      19. X-Goog-Api-Client
      20. X-Goog-Content-Length-Range
      21. X-Goog-Copy-Source-Encryption-Algorithm
      22. X-Goog-Copy-Source-Encryption-Key
      23. X-Goog-Copy-Source-Encryption-Key-Sha256
      24. X-Goog-Encryption-Algorithm
      25. X-Goog-Encryption-Key
      26. X-Goog-Encryption-Key-Sha256
      27. X-Goog-Gcs-Idempotency-Token
      28. X-Goog-Meta-*
      29. X-Goog-User-Project
      30. X-HTTP-Method-Override
      31. X-Upload-Content-Length
      32. X-Upload-Content-Type
      Since:
      2.49.0
    • dedupe

      public static Storage.BlobWriteOption[] dedupe(Storage.BlobWriteOption... os)
      Deduplicate any options which are the same parameter. The value which comes last in os will be the value included in the return.
    • dedupe

      Deduplicate any options which are the same parameter.

      The value which comes last in collection and os will be the value included in the return. All options from os will override their counterparts in collection.

    • dedupe

      Deduplicate any options which are the same parameter.

      The value which comes last in collection and os will be the value included in the return. All options from os will override their counterparts in collection.

    • equals

      public boolean equals(Object o)
      Deprecated.
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Deprecated.
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Deprecated.
      Overrides:
      toString in class Object