func()

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
}