/** * Read records in one batch. */ func batchReads( client *as.Client, keyPrefix string, binName string, size int, ) { // Batch gets into one call. keys := make([]*as.Key, size) for i := 0; i < size; i++ { keys[i], _ = as.NewKey(*shared.Namespace, *shared.Set, keyPrefix+strconv.Itoa(i+1)) } records, err := client.BatchGet(nil, keys, binName) shared.PanicOnError(err) for i := 0; i < len(records); i++ { key := keys[i] record := records[i] level := asl.ERR var value interface{} if record != nil { level = asl.INFO value = record.Bins[binName] } asl.Logger.LogAtLevel(level, "Record: ns=%s set=%s key=%s bin=%s value=%s", key.Namespace(), key.SetName(), key.Value(), binName, value) } if len(records) != size { log.Fatalf("Record size mismatch. Expected %d. Received %d.", size, len(records)) } }