Skip to main content
func (datapointClient) Ingest(
    ctx context.Context,
    collectionID uuid.UUID,
    datapoints any,
    allowExisting bool,
) (*datasets.IngestResponse, error)
Ingest data points into a collection.

Parameters

collectionID
uuid.UUID
The id of the collection
datapoints
*[]proto.Message
The datapoints to ingest
allowExisting
bool
Datapoint fields are used to generate a deterministic unique UUID for each datapoint in a collection. Duplicate data points result in the same ID being generated. If allowExisting is true, ingest will skip those datapoints, since they already exist. If allowExisting is false, ingest will raise an error if any of the generated datapoint IDs already exist.

Returns

The list of datapoint ids that were ingested, including the IDs of existing data points in case of duplicates and allowExisting=true.
datapoints := []*v1.Modis{
  v1.Modis_builder{
    Time:        timestamppb.New(time.Now()),
    GranuleName: proto.String("Granule 1"),
  }.Build(),
  v1.Modis_builder{
    Time:        timestamppb.New(time.Now().Add(-5 * time.Hour)),
    GranuleName: proto.String("Past Granule 2"),
  }.Build(),
}

ingestResponse, err := client.Datapoints.Ingest(ctx,
    collectionID,
    &datapoints
    false,
)

Errors

ArgumentError
found existing datapoints with same id
If allowExisting is False and any of the datapoints attempting to ingest already exist.