func main()

in DynamoDB-SDK-Examples/golang/WorkingWithItems/deleteItemConditional.go [23:73]


func main() {
  
	// Create Session
    sess, err := session.NewSession(&aws.Config{
        Region: aws.String("eu-west-1")},
    )

    // Create DynamoDB client
    svc := dynamodb.New(sess)

	// Keys for item
    item := Item{
        Pk: "jose.schneller@somewhere.com",
        Sk: "metadata",
    }

	// Marshal
    av, err := dynamodbattribute.MarshalMap(item)
    if err != nil {
        fmt.Println("Got error marshalling map:")
        fmt.Println(err.Error())
        os.Exit(1)
    }

	// Set Age
	condition, err := dynamodbattribute.MarshalMap(AgeCondition{
		Age: 30,
	})

	if err != nil {
		fmt.Println(err.Error())
		return
	}

	// Delete Item if Age is Less Than 30
    input := &dynamodb.DeleteItemInput{
		TableName: aws.String("RetailDatabase"),
        Key:       av,
		ConditionExpression: aws.String("age <= :a"),
		ExpressionAttributeValues: condition,
    }

    _, err = svc.DeleteItem(input)
    if err != nil {
        fmt.Println("Got error calling DeleteItem")
        fmt.Println(err.Error())
        return
    }

    fmt.Println("Deleted Item")
}