in create_titleid/idmapping.go [16:38]
func IndexLookup(ddbClient *dynamodb.Client, tableName *string, index string, expr *expression.Expression) (int32, []string, error) {
params := dynamodb.QueryInput{
TableName: tableName,
ExpressionAttributeNames: expr.Names(),
ExpressionAttributeValues: expr.Values(),
IndexName: aws.String(index),
KeyConditionExpression: expr.KeyCondition(),
}
response, err := ddbClient.Query(context.Background(), ¶ms)
if err != nil {
return -1, nil, err
}
knownIdList := make([]string, 0)
for _, r := range response.Items {
if contentId, haveContentId := r["contentid"]; haveContentId {
if numericValue, isNumeric := contentId.(*types.AttributeValueMemberN); isNumeric {
knownIdList = append(knownIdList, numericValue.Value)
}
}
}
return response.Count, knownIdList, nil
}