Deleting Items from S3

March 19, 2018

Course Instructor: Elliot Forbes

Hey Gophers! My name is Elliot and I'm the creator of TutorialEdge and I've been working with Go systems for roughly 5 years now.

Twitter: @Elliot_f

In this video, we are going to be looking at how we can implement a deleteItem function which will allow us to delete items from our S3 bucket and clean up after ourselves:

Deleting Items

Let’s set about implementing this deleteItem function now:

func deleteItem(sess *session.Session) {
	svc := s3.New(sess)
	input := &s3.DeleteObjectInput{
		Bucket: aws.String("go-aws-s3-course"),
		Key:    aws.String("my-file.txt"),

	result, err := svc.DeleteObject(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
		} else {

	log.Printf("Result: %+v\n", result)


Let’s also update our main func:

func main() {
	fmt.Println("Downloads and Uploads")
	sess, err := session.NewSession(&aws.Config{
		Region: aws.String("us-west-2"),
	if err != nil {
		log.Fatal("Could not get session")


Perfect, with this in place, let’s try and run this and see if it deletes our file:

$ go run 04-deleting-items/main.go 
Downloads and Uploads
2021/03/14 12:52:00 Upload Result: &{Location: VersionID:<nil> UploadID: ETag:0xc00047a240}
2021/03/14 12:52:00 Name: my-file.txt
2021/03/14 12:52:00 Size: 12
2021/03/14 12:52:00 Result: {