Struct googapis::google::storagetransfer::v1::ObjectConditions [−][src]
pub struct ObjectConditions {
pub min_time_elapsed_since_last_modification: Option<Duration>,
pub max_time_elapsed_since_last_modification: Option<Duration>,
pub include_prefixes: Vec<String>,
pub exclude_prefixes: Vec<String>,
pub last_modified_since: Option<Timestamp>,
pub last_modified_before: Option<Timestamp>,
}
Expand description
Conditions that determine which objects will be transferred. Applies only to Cloud Data Sources such as S3, Azure, and Cloud Storage.
The “last modification time” refers to the time of the
last change to the object’s content or metadata — specifically, this is
the updated
property of Cloud Storage objects, the LastModified
field
of S3 objects, and the Last-Modified
header of Azure blobs.
Fields
min_time_elapsed_since_last_modification: Option<Duration>
If specified, only objects with a “last modification time” before
NOW
- min_time_elapsed_since_last_modification
and objects that don’t
have a “last modification time” are transferred.
For each [TransferOperation][google.storagetransfer.v1.TransferOperation]
started by this [TransferJob][google.storagetransfer.v1.TransferJob], NOW
refers to the [start_time]
[google.storagetransfer.v1.TransferOperation.start_time] of the
TransferOperation
.
max_time_elapsed_since_last_modification: Option<Duration>
If specified, only objects with a “last modification time” on or after
NOW
- max_time_elapsed_since_last_modification
and objects that don’t
have a “last modification time” are transferred.
For each [TransferOperation][google.storagetransfer.v1.TransferOperation]
started by this [TransferJob][google.storagetransfer.v1.TransferJob],
NOW
refers to the [start_time]
[google.storagetransfer.v1.TransferOperation.start_time] of the
TransferOperation
.
include_prefixes: Vec<String>
If you specify include_prefixes
, Storage Transfer Service uses the items
in the include_prefixes
array to determine which objects to include in a
transfer. Objects must start with one of the matching include_prefixes
for inclusion in the transfer. If [exclude_prefixes]
[google.storagetransfer.v1.ObjectConditions.exclude_prefixes] is specified,
objects must not start with any of the exclude_prefixes
specified for
inclusion in the transfer.
The following are requirements of include_prefixes
:
-
Each include-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported.
-
Each include-prefix must omit the leading slash. For example, to include the object
s3://my-aws-bucket/logs/y=2015/requests.gz
, specify the include-prefix aslogs/y=2015/requests.gz
. -
None of the include-prefix values can be empty, if specified.
-
Each include-prefix must include a distinct portion of the object namespace. No include-prefix may be a prefix of another include-prefix.
The max size of include_prefixes
is 1000.
For more information, see Filtering objects from transfers.
exclude_prefixes: Vec<String>
If you specify exclude_prefixes
, Storage Transfer Service uses the items
in the exclude_prefixes
array to determine which objects to exclude from
a transfer. Objects must not start with one of the matching
exclude_prefixes
for inclusion in a transfer.
The following are requirements of exclude_prefixes
:
-
Each exclude-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported.
-
Each exclude-prefix must omit the leading slash. For example, to exclude the object
s3://my-aws-bucket/logs/y=2015/requests.gz
, specify the exclude-prefix aslogs/y=2015/requests.gz
. -
None of the exclude-prefix values can be empty, if specified.
-
Each exclude-prefix must exclude a distinct portion of the object namespace. No exclude-prefix may be a prefix of another exclude-prefix.
-
If [include_prefixes] [google.storagetransfer.v1.ObjectConditions.include_prefixes] is specified, then each exclude-prefix must start with the value of a path explicitly included by
include_prefixes
.
The max size of exclude_prefixes
is 1000.
For more information, see Filtering objects from transfers.
last_modified_since: Option<Timestamp>
If specified, only objects with a “last modification time” on or after this timestamp and objects that don’t have a “last modification time” are transferred.
The last_modified_since
and last_modified_before
fields can be used
together for chunked data processing. For example, consider a script that
processes each day’s worth of data at a time. For that you’d set each
of the fields as follows:
-
last_modified_since
to the start of the day -
last_modified_before
to the end of the day
last_modified_before: Option<Timestamp>
If specified, only objects with a “last modification time” before this timestamp and objects that don’t have a “last modification time” will be transferred.
Trait Implementations
fn merge_field<B>(
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
Returns the encoded length of the message without a length delimiter.
Encodes the message to a buffer. Read more
Encodes the message to a newly allocated buffer.
Encodes the message with a length-delimiter to a buffer. Read more
Encodes the message with a length-delimiter to a newly allocated buffer.
Decodes an instance of the message from a buffer. Read more
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
Decodes a length-delimited instance of the message from the buffer.
Decodes an instance of the message from a buffer, and merges it into self
. Read more
Decodes a length-delimited instance of the message from buffer, and
merges it into self
. Read more
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for ObjectConditions
impl Send for ObjectConditions
impl Sync for ObjectConditions
impl Unpin for ObjectConditions
impl UnwindSafe for ObjectConditions
Blanket Implementations
Mutably borrows from an owned value. Read more
Wrap the input message T
in a tonic::Request
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more