Importing Postgres Heroku from AWS S3

I’m learning how to handle Postgres instances by backing them up and restoring them on Heroku for a Django project (a small rudimentary CMS). The amount of data is a few hundred kilobytes because it’s just text that I am storing in my my db. I’m practicing backups and restores just to learn for fun.

I realize this is not a Manjaro-specific question, but it does fall into the general category of development/programming. I hope my post is welcome here.

I downloaded the binary data to my local machine using this particular section of the Heroku doc.

The next step was to create an AWS account, including setting up Access Keys which I located in the dashboard and entered them into my local dev environment. I named my bucket. I uploaded the binary to S3.

I’ve made it all the way to the end of Heroku’s import Postgres guide.

I install the awscli package with pip which enabled me to presign my s3 bucket (which succeeded).

I am right at the final step of importing my backup to Heroku Postgres. I am so close!

My traceback at this point indicates that Heroku is expecting an HTTP 200 (request has succeeded) but instead it receives an HTTP 400 (can’t process) ‘due to the source URL being inaccessible’. This points towards the restrictive permissions in place on my AWS S3 bucket.

You can find my traceback in full at the bottom of this post.

With regards to my AWS S3 bucket, in the dashboard, the main Permissions switch relevant here is the “Block all public access” option. Whether this checkbox is enabled or disabled (I carefully tried both), I encountered the same HTTP 200/400 in my traceback. This is where I believe the issue is.

I’m not sure what else to try. I’m also a little concerned that with the vast number of variables available for Amazon’s S3 service, I don’t know how I might share or export my configuration nicely for you people to take a closer look. What other information could I provide to better help you people help me?