diff --git a/proto/viam/app/datasync/v1/data_sync.proto b/proto/viam/app/datasync/v1/data_sync.proto index b572929b2..3f8163aab 100644 --- a/proto/viam/app/datasync/v1/data_sync.proto +++ b/proto/viam/app/datasync/v1/data_sync.proto @@ -110,6 +110,7 @@ message UploadMetadata { map method_parameters = 8; string file_extension = 9; repeated string tags = 10; + repeated string dataset_ids = 12; reserved 4, 11; reserved "component_model", "session_id"; diff --git a/proto/viam/service/datamanager/v1/data_manager.proto b/proto/viam/service/datamanager/v1/data_manager.proto index f357120ae..9f487469f 100644 --- a/proto/viam/service/datamanager/v1/data_manager.proto +++ b/proto/viam/service/datamanager/v1/data_manager.proto @@ -2,6 +2,7 @@ syntax = "proto3"; package viam.service.datamanager.v1; +import "app/datasync/v1/data_sync.proto"; import "common/v1/common.proto"; import "google/api/annotations.proto"; import "google/protobuf/struct.proto"; @@ -20,6 +21,11 @@ service DataManagerService { rpc DoCommand(common.v1.DoCommandRequest) returns (common.v1.DoCommandResponse) { option (google.api.http) = {post: "/viam/api/v1/service/datamanager/{name}/do_command"}; } + + // UploadBinaryDataToDataset uploads raw bytes to a given dataset + rpc UploadRawDataToDataset(UploadBinaryDataToDatasetRequest) returns (UploadBinaryDataToDatasetResponse) { + option (google.api.http) = {post: "/viam/api/v1/service/datamanager/{name}/upload_binary_data_to_dataset"}; + } } message SyncRequest { @@ -29,3 +35,15 @@ message SyncRequest { } message SyncResponse {} + +message UploadBinaryDataToDatasetRequest { + string name = 1; + bytes image = 2; + repeated string tags = 3; + repeated string dataset_ids = 4; + app.datasync.v1.MimeType mime_type = 5; + // Additional arguments to the method + google.protobuf.Struct extra = 99; +} + +message UploadBinaryDataToDatasetResponse {}