in iot-onboarding-service/src/cloudrack-lambda-core/db/db.go [360:393]
func (dbc DBConfig) Get(pk string, sk string, data interface{}) error {
err := ValidateConfig(dbc)
if err != nil {
return err
}
av := map[string]*dynamodb.AttributeValue{
dbc.PrimaryKey: {
S: aws.String(pk),
},
}
if sk != "" {
av[dbc.SortKey] = &dynamodb.AttributeValue{
S: aws.String(sk),
}
}
gii := &dynamodb.GetItemInput{
TableName: aws.String(dbc.TableName),
Key: av,
}
log.Printf("DB> DynamoDB Get rq %+v", gii)
result, err := dbc.DbService.GetItemWithContext(dbc.LambdaContext, gii)
if err != nil {
fmt.Println("NOT FOUND")
fmt.Println(err.Error())
return err
}
err = dynamodbattribute.UnmarshalMap(result.Item, data)
if err != nil {
panic(fmt.Sprintf("Failed to unmarshal Record, %v", err))
}
return err
}