Struct google_api_proto::google::cloud::vision::v1::ImportProductSetsGcsSource
source · pub struct ImportProductSetsGcsSource {
pub csv_file_uri: String,
}
Expand description
The Google Cloud Storage location for a csv file which preserves a list of ImportProductSetRequests in each line.
Fields§
§csv_file_uri: String
The Google Cloud Storage URI of the input csv file.
The URI must start with gs://
.
The format of the input csv file should be one image per line. In each line, there are 8 columns.
- image-uri
- image-id
- product-set-id
- product-id
- product-category
- product-display-name
- labels
- bounding-poly
The image-uri
, product-set-id
, product-id
, and product-category
columns are required. All other columns are optional.
If the ProductSet
or Product
specified by the product-set-id
and
product-id
values does not exist, then the system will create a new
ProductSet
or Product
for the image. In this case, the
product-display-name
column refers to
[display_name][google.cloud.vision.v1.Product.display_name], the
product-category
column refers to
[product_category][google.cloud.vision.v1.Product.product_category], and
the labels
column refers to
[product_labels][google.cloud.vision.v1.Product.product_labels].
The image-id
column is optional but must be unique if provided. If it is
empty, the system will automatically assign a unique id to the image.
The product-display-name
column is optional. If it is empty, the system
sets the [display_name][google.cloud.vision.v1.Product.display_name] field
for the product to a space (“ “). You can update the display_name
later
by using the API.
If a Product
with the specified product-id
already exists, then the
system ignores the product-display-name
, product-category
, and labels
columns.
The labels
column (optional) is a line containing a list of
comma-separated key-value pairs, in the following format:
"key_1=value_1,key_2=value_2,...,key_n=value_n"
The bounding-poly
column (optional) identifies one region of
interest from the image in the same manner as CreateReferenceImage
. If
you do not specify the bounding-poly
column, then the system will try to
detect regions of interest automatically.
At most one bounding-poly
column is allowed per line. If the image
contains multiple regions of interest, add a line to the CSV file that
includes the same product information, and the bounding-poly
values for
each region of interest.
The bounding-poly
column must contain an even number of comma-separated
numbers, in the format “p1_x,p1_y,p2_x,p2_y,…,pn_x,pn_y”. Use
non-negative integers for absolute bounding polygons, and float values
in [0, 1] for normalized bounding polygons.
The system will resize the image if the image resolution is too large to process (larger than 20MP).
Trait Implementations§
source§impl Clone for ImportProductSetsGcsSource
impl Clone for ImportProductSetsGcsSource
source§fn clone(&self) -> ImportProductSetsGcsSource
fn clone(&self) -> ImportProductSetsGcsSource
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ImportProductSetsGcsSource
impl Debug for ImportProductSetsGcsSource
source§impl Default for ImportProductSetsGcsSource
impl Default for ImportProductSetsGcsSource
source§impl Message for ImportProductSetsGcsSource
impl Message for ImportProductSetsGcsSource
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for ImportProductSetsGcsSource
impl PartialEq for ImportProductSetsGcsSource
source§fn eq(&self, other: &ImportProductSetsGcsSource) -> bool
fn eq(&self, other: &ImportProductSetsGcsSource) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for ImportProductSetsGcsSource
Auto Trait Implementations§
impl Freeze for ImportProductSetsGcsSource
impl RefUnwindSafe for ImportProductSetsGcsSource
impl Send for ImportProductSetsGcsSource
impl Sync for ImportProductSetsGcsSource
impl Unpin for ImportProductSetsGcsSource
impl UnwindSafe for ImportProductSetsGcsSource
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request