1. 配置heroku接入AWS S3服务的凭证

heroku官网上的命令示例总是跟实践差着一步,截图为证:
径直无脑照做您会收到报错:

C:\Users\Benjamin Chen>heroku config:set AWS_ACCESS_KEY_ID=mykeyidxxx AWS_SECRET_ACCESS_KEY=mykeyyyy»   Error: Missing required flag:»     -a, --app APP  app to run command against»   See more help with --help

正确的做法是加入app名作为参数,在正确的位置…(heroku官方就不能写个具体点的示例么!):

C:\Users\Benjamin Chen>heroku config:set -a chem2reg AWS_ACCESS_KEY_ID=mykeyidxxx AWS_SECRET_ACCESS_KEY=mykeyyyy
Setting AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and restarting ⬢ chem2reg... done, v5
AWS_ACCESS_KEY_ID:     mykeyidxxx
AWS_SECRET_ACCESS_KEY: mykeyyyy

加入了-a chem2reg,chem2reg是我放在heroku上的app名字。

2. 从AWS S3导入postgres备份数据到heroku上的postgres数据库

为啥不直接从本地导入数据呢?为啥还要到AWS上折腾?
没得选,heroku制定的规则!
heroku官网上的指导
官网的指导一如既往的是完全不够的!

十八摸之后,你应该这么干:
首先要进入到AWS控制台,创建IAM用户第一步:

IAM用户创建第二步,搜索s3,然后选择策略,因为不是很懂所以我选了fullaccess权限,看你还有什么妖蛾子哼!

后面几步没什么好说的,一路直行。
创建IAM用户的目的是拿到访问密匙ID:example_mykeyid/私有访问密匙:example_mykey

拿到密匙的目的是~~构建signed url
构建signed url的目的是为了使用下面这条命令来导入postgreSQL数据:

heroku pg:backups:restore '<SIGNED URL>' DATABASE_URL

构建signed url的过程可参考《使用Python AWS SDK boto3生成签名链接(signed url)》
生成的链接如下(每次都会有所不同,链接有效时间为一小时):

https://mypsdata.s3.amazonaws.com/cisdatabase_dump?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAXX4JXBAKZCGFZTDK%2F20210731%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Date=20210731T113531Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=001763859fbddaef7099bb932e49639630f8018faa304f023cb05e7ace1f6a14

其中,mypsdata是存储桶的名字,cisdatabase_dump是我放在桶里的pg数据库备份文件名
万事具备!控制台上输入命令:

heroku pg:backups:restore -a chem2reg "https://mypsdata.s3.amazonaws.com/cisdatabase_dump?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAXX4JXBAKZCGFZTDK%2F20210731%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Date=20210731T113531Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=001763859fbddaef7099bb932e49639630f8018faa304f023cb05e7ace1f6a14" postgresql-polished-14609

数据库备份导入heroku成功!

注意!在windows操作系统中使用该命令时,signed url一定要用双引号括起来

【发表真的是为了记忆】
【要不然是真的记不住】

heroku常用命令示例(三)与AWS S3互动相关推荐

  1. heroku常用命令示例(一)

    heroku上提供1GB免费空间,可免费托管postgreSQL数据库,虽然只支持1万行数据,但用于实验也差不多了. 以下常用命令,可在windows的CMD控制台上使用: 查询版本 C:\Users ...

  2. Docker镜像常用命令(三)

    Docker镜像.容器常用命令(三) 1.基础命令 docker version #查看docker的版本信息 docker info #查看docker的系统信息,包括镜像和容器的数量 docker ...

  3. Stata常用命令示例

    目录 stata自带示例数据集 1.数据描述 2. 标签重命名 3.截面数据统计 4.面板数据定义 5.面板数据统计 6.分组统计 7.连续值自动划分等级 8.计算分位数 9.字符串截取与转换成数字 ...

  4. Kubectl常用命令(三)

    Kubectl是一个用于操作kubernetes集群的命令行接口,通过利用kubectl的各种命令可以实现各种功能,是在使用kubernetes中非常常用的工具. 接下来我们会通过一些简单的实例来展现 ...

  5. Linux常用命令(三)

    Linux 之 文件处理 Linux 系统信息存放在文件里,文件与普通的公务文件类似.每个文件都有自己的名字.内容.存放地址及其它一些管理信息,如文件的用户.文件的大小等.文件可以是一封信.一个通讯录 ...

  6. java dump命令例子,常用命令示例

    一.快速抓取Java thread dump (1)tail -20000 cmsWIIWebServer1289.out | perl -ne 'print if /FULL THREAD DUMP ...

  7. Linux常用命令大全(三)

    6 磁盘维护 6.1 badblocks 功能说明:检查磁盘装置中损坏的区块. 语 法:badblocks [-svw][-b <区块大小>][-o <输出文件>][磁盘装置] ...

  8. Linux系统常用命令(三)

    2019独角兽企业重金招聘Python工程师标准>>> 归档.压缩: zip 压缩文件 zip 压缩后的文件名 要压缩的文件 注意:压缩后的文件名 不管你写成XXX.zip还是XXX ...

  9. linux从前往后读取文件夹图片名称,Linux目录和文件中的常用命令(三)

    摘要 2.10 环境变量PATH2.11 cp命令2.12 mv命令2.13 文档查看cat/more/less/head/tail 一 环境变量PATH 1.基本的环境变量 基本的环境变量有5个,分 ...

  10. Redis常用命令(三,共三篇)

    目录 1.redis的配置文件: 1).redis配置文件中关于网络的配置: 2).常规配置: 3).安全配置: 2.redis的持久化: 1.RDB策略: 在指定时间间隔内,redis服务执行指定次 ...

最新文章

  1. java实现语法分析器_语法分析 | 语法分析的任务
  2. 查找数据结构相关题目
  3. C# + .net下使用serialPort做串口开发 1
  4. Android保存设置的PreferenceActivity
  5. java –cp ./:_成为Java流大师–第3部分:终端操作
  6. linux网卡IO,浅谈Linux 网络 I/O 模型简介(图文)
  7. java 基本数据类型 容器_Java 基本数据类型
  8. [01] 四大组件之Activity
  9. Tornado之异步authenticated
  10. vue.js环境部署
  11. 信息搜集-敏感信息泄露
  12. 子网掩码-掩码位-反掩码 对照表
  13. iOS9 3DTouch、ShortcutItem、Peek And Pop技术一览
  14. 修理牧场( 哈夫曼算法 ,贪心 )
  15. 《 C语言程序设计(第2版)》 读书笔记
  16. h5获取当前浏览器ip和城市名称
  17. 数据库 day60,61 Oracle入门,单行函数,多表查询,子查询,事物处理,约束,rownum分页,视图,序列,索引
  18. leetcode题解之相交链表
  19. *p++与(*p)++与*(p++)
  20. 杜克大学计算机科学博士,杜克大学计算机科学CS博士学位申请介绍

热门文章

  1. GS企业管理软件运用
  2. 安装windows和android双系统,真正的安卓Windows双系统,RemixOS Windows共存系统安装+附带ROOT+大分区...
  3. android 系统 迷你pc,Remix mini:一款真正运行安卓系统的电脑
  4. python 模拟登陆百度
  5. Systick中断延时
  6. Android开发自定义短视频系统源码全局悬浮按钮
  7. python三种运算符_Python 海象运算符 (:=) 的三种用法
  8. 硬盘格式 FAT32 NTFS exFAT扫盲
  9. 微信小程序音频功能开发实(cai)践(keng)
  10. clickhouse分布式集群遇到的一些错误处理