如何在iOS中连接amazon RDS

时间:2014-02-07 10:11:44

标签: mysql ios amazon-web-services amazon-rds

我正在制作一个我正在使用Amazon Simple db的应用程序,但现在我已将简单的数据库更改为amazon rds mysql。简单的数据库有自己的api和框架可以访问iOS中的数据库和表,但是如何在iOS中访问amazon rds mysql,任何想法如何完成。他们有亚马逊有简单数据库的库,如果有任何其他方式libaray在iOS应用程序中使用亚马逊rds感谢

3 个答案:

答案 0 :(得分:4)

Amazon RDS实例是常规的MySQL / Oracle / ...数据库。您可以从任何设备或平台连接到它,前提是您有驱动程序。

有一个适用于Mac OS X和iOS的Mysql C驱动程序(请参阅此问题How to install MySQL Connector/C on Mac OS X?)。

如果要从iOS应用程序访问RDS MySQL,必须在二进制发行版中包含此驱动程序,并使用代码中驱动程序公开的函数。

从架构的角度来看,我对这种方法提出质疑。通过API层(位于iOS App和数据库之间的Web应用程序)访问数据库有很多好处。

好处是: - 解耦:不要将数据结构暴露给客户端应用程序 - 可伸缩性:当使用只读副本或分片时,API可以在DB之间进行负载平衡 - 安全性:API允许您强制执行身份验证和授权

答案 1 :(得分:2)

我为我的应用程序使用RDS,但我构建了自己的API。从EC2实例(免费)做起来非常快。你所要做的就是安装apache,mysql,我做了php。然后最快的方法是使用其中一个PHP框架来创建路由,并在您的应用上使用RestKit对其进行解码。

答案 2 :(得分:0)

您的限制是,您没有jdbc驱动程序将RDS连接到iOS应用程序。

所以你需要做的是构建一个休息服务(不是一个简单的任务),将它放在Elastic Beanstalk上,然后将它连接到你的RDS实例。然后,应用程序通过获取和发布消息来访问其余服务。您可以在应用中使用令牌身份验证以确保安全性。

你可以在PHP中轻松破解(这是我第一次做的),但是当我很乐意将WAR文件发送到Elastic Beanstalker时,我开始研究Java休息方法。以及一些将数据库表“映射”为Java对象的程序。