async function processTrainPlate()

in main/src/search/search.ts [231:283]


async function processTrainPlate(trainId: any, plateId: any) {
  
  var params = {
    FunctionName: IMAGE_MANGEMENT_LAMBDA_ARN,
    InvocationType: "RequestResponse",
    Payload: JSON.stringify({ method: "getImagesByPlateIdAndTrainId", plateId: plateId, trainId: trainId }),
  };
  console.log(params)
  const data = await lambda.invoke(params).promise();
  const imagesResponse = la.getResponseBody(data);
  // imagesResponse is an array of Items:
  // {
  //   Item: {
  //     imageId: '1ajWe94c5g6Ud5acDHfKwS',
  //     embedding: "b'7s/RPJ/sR74ntj++Fc0EvcFMMb7faKm8nK3cvXGv+T0KyYO9qDYEvup/gL68tye+P1oEvksfxD3mdgi+o900PipMj71ag+o8aJrpPVyRfT0u88C82pRHPuj/FD4xJQI+eUcdPjIgv73L4Ba+UwKVu+49tT0YUoQ7cvcmO8j6Yj0='",
  //     roiEmbeddingKey: 'artifact/train/r6KEudzQCuUtDwCzziiMZT/plate/gXc3iRxAi4rs5AdwQpYeiZ/1ajWe94c5g6Ud5acDHfKwS-roi-embedding.npy',
  //     trainId: 'r6KEudzQCuUtDwCzziiMZT'
  //   }
  // },
  const embeddingInfo: any[] = [];
  console.log("trainId="+trainId+" plateId="+plateId+" imageResponseCount="+imagesResponse.length);
  for (let o1 of imagesResponse) {
    if (o1.Item) {
      const item = o1.Item
      if (item[IMT_EMBEDDING]) {
        const imageId = item.imageId
        const embedding = item[IMT_EMBEDDING]
        const entry = {
          imageId: imageId,
          embedding: embedding
        }
        embeddingInfo.push(entry)
      }
    }
  }
  console.log("embeddingInfo count="+embeddingInfo.length);
  var embeddingCount=0;
  var embeddingData = [];
  for (let entry of embeddingInfo) {
    embeddingData.push(entry)
    if (embeddingData.length==EMBEDDINGS_PER_MESSAGE) {
      await uploadEmbeddings(trainId, plateId, embeddingData)
      embeddingData = []
    }
  }
  if (embeddingData.length>0) {
    await uploadEmbeddings(trainId, plateId, embeddingData)
  }
  const response = {
    sqsMessageDeduplicationId: 'multiple'
  }
  return response;
}