heroku常用命令示例(三)与AWS S3互动
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互动相关推荐
- heroku常用命令示例(一)
heroku上提供1GB免费空间,可免费托管postgreSQL数据库,虽然只支持1万行数据,但用于实验也差不多了. 以下常用命令,可在windows的CMD控制台上使用: 查询版本 C:\Users ...
- Docker镜像常用命令(三)
Docker镜像.容器常用命令(三) 1.基础命令 docker version #查看docker的版本信息 docker info #查看docker的系统信息,包括镜像和容器的数量 docker ...
- Stata常用命令示例
目录 stata自带示例数据集 1.数据描述 2. 标签重命名 3.截面数据统计 4.面板数据定义 5.面板数据统计 6.分组统计 7.连续值自动划分等级 8.计算分位数 9.字符串截取与转换成数字 ...
- Kubectl常用命令(三)
Kubectl是一个用于操作kubernetes集群的命令行接口,通过利用kubectl的各种命令可以实现各种功能,是在使用kubernetes中非常常用的工具. 接下来我们会通过一些简单的实例来展现 ...
- Linux常用命令(三)
Linux 之 文件处理 Linux 系统信息存放在文件里,文件与普通的公务文件类似.每个文件都有自己的名字.内容.存放地址及其它一些管理信息,如文件的用户.文件的大小等.文件可以是一封信.一个通讯录 ...
- java dump命令例子,常用命令示例
一.快速抓取Java thread dump (1)tail -20000 cmsWIIWebServer1289.out | perl -ne 'print if /FULL THREAD DUMP ...
- Linux常用命令大全(三)
6 磁盘维护 6.1 badblocks 功能说明:检查磁盘装置中损坏的区块. 语 法:badblocks [-svw][-b <区块大小>][-o <输出文件>][磁盘装置] ...
- Linux系统常用命令(三)
2019独角兽企业重金招聘Python工程师标准>>> 归档.压缩: zip 压缩文件 zip 压缩后的文件名 要压缩的文件 注意:压缩后的文件名 不管你写成XXX.zip还是XXX ...
- linux从前往后读取文件夹图片名称,Linux目录和文件中的常用命令(三)
摘要 2.10 环境变量PATH2.11 cp命令2.12 mv命令2.13 文档查看cat/more/less/head/tail 一 环境变量PATH 1.基本的环境变量 基本的环境变量有5个,分 ...
- Redis常用命令(三,共三篇)
目录 1.redis的配置文件: 1).redis配置文件中关于网络的配置: 2).常规配置: 3).安全配置: 2.redis的持久化: 1.RDB策略: 在指定时间间隔内,redis服务执行指定次 ...
最新文章
- java实现语法分析器_语法分析 | 语法分析的任务
- 查找数据结构相关题目
- C# + .net下使用serialPort做串口开发 1
- Android保存设置的PreferenceActivity
- java –cp ./:_成为Java流大师–第3部分:终端操作
- linux网卡IO,浅谈Linux 网络 I/O 模型简介(图文)
- java 基本数据类型 容器_Java 基本数据类型
- [01] 四大组件之Activity
- Tornado之异步authenticated
- vue.js环境部署
- 信息搜集-敏感信息泄露
- 子网掩码-掩码位-反掩码 对照表
- iOS9 3DTouch、ShortcutItem、Peek And Pop技术一览
- 修理牧场( 哈夫曼算法 ,贪心 )
- 《 C语言程序设计(第2版)》 读书笔记
- h5获取当前浏览器ip和城市名称
- 数据库 day60,61 Oracle入门,单行函数,多表查询,子查询,事物处理,约束,rownum分页,视图,序列,索引
- leetcode题解之相交链表
- *p++与(*p)++与*(p++)
- 杜克大学计算机科学博士,杜克大学计算机科学CS博士学位申请介绍
热门文章
- GS企业管理软件运用
- 安装windows和android双系统,真正的安卓Windows双系统,RemixOS Windows共存系统安装+附带ROOT+大分区...
- android 系统 迷你pc,Remix mini:一款真正运行安卓系统的电脑
- python 模拟登陆百度
- Systick中断延时
- Android开发自定义短视频系统源码全局悬浮按钮
- python三种运算符_Python 海象运算符 (:=) 的三种用法
- 硬盘格式 FAT32 NTFS exFAT扫盲
- 微信小程序音频功能开发实(cai)践(keng)
- clickhouse分布式集群遇到的一些错误处理