在数据库上创建API层

时间:2017-05-15 11:49:10

标签: database oracle api amazon-web-services aws-lambda

我有一个内部部署oracle数据库。我可以在AWS上使用任何内容吗API网关查询数据库并通过API公开结果?我知道我可以做API网关 - > Lambda - > Oracle DB,其中Lambda函数中的代码将查询数据库(假设查询所需的时间少于5分钟)。还有其他简单的选项可以无服务器并且代码量最少吗?

基本上我想找到在现有内部部署oracle数据库顶部创建API层的最简单方法,以便应用程序(托管在AWS上)可以访问此数据而无需直接连接到数据库。 AWS是否提供开箱即用的任何内容?

3 个答案:

答案 0 :(得分:0)

  1. 是的,可以使用AWS Lambda并通过API公开API 网关。但这很容易。
  2. 困难的部分是让您的On-Premise数据库连接到AWS 基础设施。如果你有一个内部部署数据库,那么你就是 在大型企业工作,你需要经历很多 批准设置VPN或AWS Direct Connect。
  3. 理想的解决方案是使用AWS Direct Connect扩展您的 企业基础架构连接到AWS然后使用Lambda 连接到数据库。
  4. 此外,AWS中没有开箱即用的解决方案可供连接 OracleDB的。最多,您可以将所有业务逻辑包装在Stored中 程序,并在lambda函数中执行它们。你可以随时 使用Lambda中的JDBC连接和查询数据库。

答案 1 :(得分:0)

从AWS Marketplace https://aws.amazon.com/marketplace/pp/B01MU8W71L

尝试此操作

答案 2 :(得分:-1)

AWS似乎没有提供将API网关连接到您的内部部署Oracle DB的开箱即用方式。所以基本上你提供的方式(API Gateway-> Lambda-> Oracle)应该是要走的路。

现在的问题是,您是想直接连接到Oracle,还是想要在RDS中创建数据库复制,并在RDS和内部Oracle数据库之间创建同步机制,以保持数据库的高响应性和可用性(如果AWS与您的本地网络之间出现网络故障)。我认为这取决于您如何在本地访问数据库。

如果您不在RDS中创建副本,则至少应使用到本地网络的VPN连接,以保持从内部Oracle到AWS RDS的数据传输安全。