Heroku第三方服务接入指南(二)
上文我们讲了第三方服务、Heroku、用户三者的关系,这一篇进入正题,了解第三方厂商(下文简称厂商)怎样为Heroku开发服务。这里仅仅做简介,了解heroku大致是怎么做的。假设你的平台。希望接入第三方服务,你正在犯愁,这个流程要怎么做,那么本文对你将有所启示。假设你希望实操接入heroku,请进一步查阅heroku官方文档。
一、工具
二、创建接口配置
heroku拿到这个配置文件后。才干知道服务的地址,资源接口。
这份配置,能够通过kensa来生成。有两个相关的命令,kensa init、kensa create。两者都能生成前文所述的配置文件--addon-manifest.json。不同之处在于,后者还能生成一个空的项目模版。
{
"id": "errorbucket",
"api": {
"config_vars": [
"ERRORBUCKET_URL"
],
"password": "GqAGAmdrnkDFcvR9",
"sso_salt": "7CwqmJLEjv8YZTXK",
"regions": ["us","eu"],
"requires": ["log_input"],
"production": {
"base_url": "https://errorbucket.com/heroku/resources",
"sso_url": "https://errorbucket.com/sso/login"
},
"test": {
"base_url": "http://localhost:4567/heroku/resources",
"sso_url": "http://localhost:4567/sso/login"
}
}
}
仅仅同意这里指定的区域訪问服务。主要考虑到对时延高要求的服务,对地域要求较高。假设没办法给全部地区的用户都提供高质量服务,那就限制一下吧。
三、实现接口
资源的增删改,都相应为同一个url。如https://username:password@api.youraddon.com/heroku/resources。请求类型为Post表示创建,DELETE表示删除(需带上id,如https://username:password@api.youraddon.com/heroku/resources/:id),PUT表示改动(带上id)
Request: POST https://username:password@api.youraddon.com/heroku/resources
Request Body: {
"heroku_id": "app123@heroku.com",
"plan": "basic",
"region": "amazon-web-services::us-east-1",
"callback_url": "https://api.heroku.com/vendor/apps/app123%40heroku.com",
"log_input_url": "https://token:t.01234567-89ab-cdef-0123-456789abcdef@1.us.logplex.io/logs",
"options": {}
}
Response Body: {
"id": "your-internal-unique-id",
"config": {"MYADDON_URL": "http://myaddon.com/52e82f5d73"},
"message": "your message here"
}
Request: PUT https://username:password@api.youraddon.com/heroku/resources/:id
Request Body: {"heroku_id": "app123@heroku.com", "plan": "premium"}
Response Body: {"config": { ... }, "message": "your message here"}
Request: DELETE https://username:password@api.youraddon.com/heroku/resources/:id
Request Body: none
Response Status: 200
四、測试
kensa test provision
Testing POST /heroku/resources
Check response [PASS]
Check valid JSON [PASS]
Check authentication [PASS]
Testing response
Check contains an id [PASS]
Testing config data
Check is a hash [PASS]
Check all config keys were previously defined in the manifest [PASS]
Check all config values are strings [PASS]
done.
五、其它
Heroku第三方服务接入指南(二)的更多相关文章
- 【接入指南】一个Demo带你玩转华为帐号服务
在<接入指南:一文带你了解华为帐号服务>中已经给大家介绍了华为帐号服务有哪些优势,如一键授权登录华为全场景共享.共享华为帐号所有用户资源.帐号安全可靠.接入方便快捷等,以及为什么能帮助开发 ...
- C#微信公众号开发系列教程二(新手接入指南)
http://www.cnblogs.com/zskbll/p/4093954.html 此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可 ...
- django之集成第三方支付平台PaysAPI与百度云视频点播服务接入
PaysAPI直接查看接口文档:https://www.paysapi.com/docindex,比较简单 百度云视频点播服务接入: 1. 准备工作:百度云的示例:http://cyberplayer ...
- 微信公众号开发C#系列-2、微信公众平台接入指南
概述 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流程是这样的,用户发送消息到微信服务器,微信服务器将接收到的消息post到用户接入时填写的url中,在url处理程序中,首先 ...
- Java 后端开发常用的 10 种第三方服务
请肆无忌惮地点赞吧,微信搜索[沉默王二]关注这个在九朝古都洛阳苟且偷生的程序员.本文 GitHub github.com/itwanger 已收录,里面还有我精心为你准备的一线大厂面试题. 严格意义上 ...
- Java 10 种常用第三方服务
严格意义上说,所有软件的第三方服务都可以自己开发,不过从零到一是需要时间和金钱成本的.就像我们研发芯片,投入了巨大的成本,但仍然没有取得理想的成绩,有些事情并不是一朝一夕,投机取巧就能完成的. Jav ...
- 《深入理解Nginx》阅读与实践(三):使用upstream和subrequest访问第三方服务
本文是对陶辉<深入理解Nginx>第5章内容的梳理以及实现,代码和注释基本出自此书. 一.upstream:以向nginx服务器的请求转化为向google服务器的搜索请求为例 (一)模块框 ...
- Android 第三方应用接入微信平台(2)
微信平台开放后倒是挺火的,许多第三方应用都想试下,毕竟可以利用微信 建立起来的关系链来拓展自己的应用还是挺不错的,可以节约很多在社交方 面的开销,我最近由于实习需要也在研究这个东西,不过发现网上的相关 ...
- Android 第三方应用接入微信平台(1)
关键字:微信开放平台 Android第三方应用接入微信 微信平台开放后倒是挺火的,许多第三方应用都想试下接入微信这个平台, 毕竟可以利用微信建立起来的关系链来拓展自己的应用还是挺不错的,可 以节约 ...
随机推荐
- go语言之进阶篇 channel介绍
1.channel介绍 和map类似,channel也一个对应make创建的底层数据结构的引用. 当我们复制一个channel或用于函数参数传递时,我们只是拷贝了一个channel引用,因此调用者何被 ...
- scrapy框架系列 (4) Scrapy Shell
Scrapy Shell Scrapy终端是一个交互终端,我们可以在未启动spider的情况下尝试及调试代码,也可以用来测试XPath或CSS表达式,查看他们的工作方式,方便我们爬取的网页中提取的数据 ...
- 安装Lync 2013过程中遇到的第一个报错
安装Lync 2013, 首先要去做的就是prepare AD Forest. 在使用向导的时候会遇到报错如下: Prepare Forest Active Directory setting exe ...
- Sudoku Solver leetcode java
题目: Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicated b ...
- 性能优化 BlockCanary 卡顿监测 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- 8天学通MongoDB——第一天 基础入门(转)
关于mongodb的好处,优点之类的这里就不说了,唯一要讲的一点就是mongodb中有三元素:数据库,集合,文档,其中“集合” 就是对应关系数据库中的“表”,“文档”对应“行”. 一: 下载 上Mon ...
- Java反编译代码分析(一)
浅析如何读懂这种反编译过来的文件,不喜勿喷. 赋值 Node node; Node node1 = _$3.getChildNodes().item(0); node1; node1; JVM INS ...
- Code faster with Intellij IDEA live templates
Intellij IDEA – in my opinion the most productive IDE for Java – comes with bunch of features helpin ...
- 看见上帝的 10 个公式……
原文 Top Ten Greatest Equations Ever 本文内容 No.1 麦克斯韦方程组 No.2 欧拉方程 No.3 牛顿第二定律 No.4 毕达哥拉斯定理 No.5 薛定谔方程 N ...
- 解剖 CPU
http://www.ruanyifeng.com/blog/2010/11/cpu_autopsy.html 有一个瑞典 Lund 大学物理学博士生,就真的这么干了,还把照片放到网上.我们知道,CP ...