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;
}