1- // Copyright 2025 Google LLC
1+ // Copyright 2026 Google LLC
22//
33// Licensed under the Apache License, Version 2.0 (the "License");
44// you may not use this file except in compliance with the License.
@@ -156,6 +156,19 @@ service VectorSearchService {
156156 metadata_type : "ImportDataObjectsMetadata"
157157 };
158158 }
159+
160+ // Initiates a Long-Running Operation to export DataObjects from a Collection.
161+ rpc ExportDataObjects (ExportDataObjectsRequest )
162+ returns (google.longrunning.Operation ) {
163+ option (google.api.http ) = {
164+ post : "/v1beta/{name=projects/*/locations/*/collections/*}:exportDataObjects"
165+ body : "*"
166+ };
167+ option (google.longrunning.operation_info ) = {
168+ response_type : "ExportDataObjectsResponse"
169+ metadata_type : "ExportDataObjectsMetadata"
170+ };
171+ }
159172}
160173
161174// Message describing Collection object
@@ -290,7 +303,7 @@ message CreateCollectionRequest {
290303
291304 // Required. ID of the Collection to create.
292305 // The id must be 1-63 characters long, and comply with
293- // <a href=" https://www.ietf.org/rfc/rfc1035.txt" target="_blank">RFC1035</a> .
306+ // [RFC1035]( https://www.ietf.org/rfc/rfc1035.txt) .
294307 // Specifically, it must be 1-63 characters long and match the regular
295308 // expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?`.
296309 string collection_id = 2 [(google.api.field_behavior ) = REQUIRED ];
@@ -329,7 +342,8 @@ message UpdateCollectionRequest {
329342 // The following fields support update: `display_name`, `description`,
330343 // `labels`, `data_schema`, `vector_schema`.
331344 // For `data_schema` and `vector_schema`, fields can only be added, not
332- // modified or deleted.
345+ // deleted, but `vertex_embedding_config` in `vector_schema` can be added or
346+ // removed.
333347 // Partial updates for `data_schema` and `vector_schema` are also supported
334348 // by using sub-field paths in `update_mask`, e.g.
335349 // `data_schema.properties.foo` or `vector_schema.my_vector_field`.
@@ -420,7 +434,8 @@ message Index {
420434
421435 // Optional. Distance metric used for indexing. If not specified, will default
422436 // to DOT_PRODUCT.
423- DistanceMetric distance_metric = 4 [(google.api.field_behavior ) = OPTIONAL ];
437+ google.cloud.vectorsearch.v1beta.DistanceMetric distance_metric = 4
438+ [(google.api.field_behavior ) = OPTIONAL ];
424439
425440 // Required. The collection schema field to index.
426441 string index_field = 5 [(google.api.field_behavior ) = REQUIRED ];
@@ -448,7 +463,7 @@ message CreateIndexRequest {
448463
449464 // Required. ID of the Index to create.
450465 // The id must be 1-63 characters long, and comply with
451- // <a href=" https://www.ietf.org/rfc/rfc1035.txt" target="_blank">RFC1035</a> .
466+ // [RFC1035]( https://www.ietf.org/rfc/rfc1035.txt) .
452467 // Specifically, it must be 1-63 characters long and match the regular
453468 // expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?`.
454469 string index_id = 2 [(google.api.field_behavior ) = REQUIRED ];
@@ -581,7 +596,8 @@ message OperationMetadata {
581596 string api_version = 7 [(google.api.field_behavior ) = OUTPUT_ONLY ];
582597}
583598
584- // Request message for [DataObjectService.ImportDataObjects][].
599+ // Request message for
600+ // [VectorSearchService.ImportDataObjects][google.cloud.vectorsearch.v1beta.VectorSearchService.ImportDataObjects].
585601message ImportDataObjectsRequest {
586602 // Google Cloud Storage configuration for the import.
587603 message GcsImportConfig {
@@ -591,6 +607,12 @@ message ImportDataObjectsRequest {
591607 // Required. URI prefix of the Cloud Storage location to write any errors
592608 // encountered during the import.
593609 string error_uri = 2 [(google.api.field_behavior ) = REQUIRED ];
610+
611+ // Optional. URI prefix of the Cloud Storage location to write DataObject
612+ // `IDs` and `etags` of DataObjects that were successfully imported. The
613+ // service will write the successfully imported DataObjects to sharded files
614+ // under this prefix. If this field is empty, no output will be written.
615+ string output_uri = 3 [(google.api.field_behavior ) = OPTIONAL ];
594616 }
595617
596618 // The configuration for the import data and error results.
@@ -609,7 +631,8 @@ message ImportDataObjectsRequest {
609631 ];
610632}
611633
612- // Metadata for [DataObjectService.ImportDataObjects][].
634+ // Metadata for
635+ // [VectorSearchService.ImportDataObjects][google.cloud.vectorsearch.v1beta.VectorSearchService.ImportDataObjects].
613636message ImportDataObjectsMetadata {
614637 // The time the operation was created.
615638 google.protobuf.Timestamp create_time = 1 ;
@@ -624,8 +647,61 @@ message ImportDataObjectsMetadata {
624647 int64 failure_count = 4 ;
625648}
626649
627- // Response for [DataObjectService.ImportDataObjects][].
650+ // Response for
651+ // [VectorSearchService.ImportDataObjects][google.cloud.vectorsearch.v1beta.VectorSearchService.ImportDataObjects].
628652message ImportDataObjectsResponse {
629653 // Status of the LRO
630654 google.rpc.Status status = 1 ;
631655}
656+
657+ // Request message for
658+ // [VectorSearchService.ExportDataObjects][google.cloud.vectorsearch.v1beta.VectorSearchService.ExportDataObjects].
659+ message ExportDataObjectsRequest {
660+ // Google Cloud Storage configuration for the export.
661+ message GcsExportDestination {
662+ // Options for the format of the exported Data Objects.
663+ // New formats may be added in the future.
664+ enum Format {
665+ // Unspecified format.
666+ FORMAT_UNSPECIFIED = 0 ;
667+
668+ // The exported Data Objects will be in JSON format.
669+ JSON = 1 ;
670+ }
671+
672+ // Required. URI prefix of the Cloud Storage where to export Data Objects.
673+ // The bucket is required to be in the same region as the collection.
674+ string export_uri = 1 [(google.api.field_behavior ) = REQUIRED ];
675+
676+ // Required. The format of the exported Data Objects.
677+ Format format = 2 [(google.api.field_behavior ) = REQUIRED ];
678+ }
679+
680+ // The configuration for the export data.
681+ oneof destination {
682+ // The Cloud Storage location where user wants to export Data Objects.
683+ GcsExportDestination gcs_destination = 2 ;
684+ }
685+
686+ // Required. The resource name of the Collection from which we want to export
687+ // Data Objects. Format:
688+ // `projects/{project}/locations/{location}/collections/{collection}`.
689+ string name = 1 [
690+ (google.api.field_behavior ) = REQUIRED ,
691+ (google.api.resource_reference ) = {
692+ type : "vectorsearch.googleapis.com/Collection"
693+ }
694+ ];
695+ }
696+
697+ // Metadata for the ExportDataObjects LRO.
698+ message ExportDataObjectsMetadata {
699+ // The time the operation was created.
700+ google.protobuf.Timestamp create_time = 1 ;
701+
702+ // The time the operation finished.
703+ google.protobuf.Timestamp finish_time = 2 ;
704+ }
705+
706+ // Response for the ExportDataObjects LRO.
707+ message ExportDataObjectsResponse {}
0 commit comments