Assicurati che le tue credenziali sul tuo computer siano archiviate in ~/.aws/
il valore predefinito è impostato sulle credenziali che hai creato per le tue configurazioni di heroku. Quindi assicurati anche che l'URL firmato sia creato con quelle credenziali e configurazioni. Ho dovuto impostare le mie credenziali predefinite sulle credenziali che ho inserito nelle mie configurazioni di heroku. Poi ho anche dovuto impostare la mia regione predefinita in ~/.aws/config
per abbinare la posizione del secchio. Dovrebbe funzionare dopo.
Ecco alcune istruzioni se sei su mac o linux.
Spiacente gente di Windows. Presumo che sia qualcosa di simile.
- Crea nuovo ID di accesso e chiave in IAM su AWS
- Imposta le configurazioni di heroku per utilizzare tali credenziali
heroku config:set AWS_ACCESS_KEY_ID=xxx AWS_SECRET_ACCESS_KEY=yyy
- Facoltativo (potrebbe essere necessario impostare anche il nome del bucket nella configurazione di heroku)
- Sul tuo computer imposta le credenziali appena create come predefinite in
~/.aws/credentials
- Sulla tua macchina imposta la tua regione predefinita che corrisponde al tuo bucket in
~/.aws/config
- Crea un URL firmato
aws s3 presign s3://your-bucket-address/your-object
- Esegui restore
heroku pg:backups:restore '<SIGNED URL>' DATABASE_URL