如何扩展(或启用云)我的android应用程序

如何扩展(或启用云)我的android应用程序,android,amazon-web-services,amazon-dynamodb,Android,Amazon Web Services,Amazon Dynamodb,我按照上的教程,让我的android应用程序将数据写入DynamoDB。它工作得很好。但是,在阅读了本文之后,我意识到我需要在Android应用程序和DynamoDB之间安装RESTAPI 其中是REST api(和网关api)的文档;是否有任何使用此类api的工作示例,可以帮助我在AWS中构建REST api,可以接受来自Android应用程序的请求?在经典方法中,您将有一个专用的api服务器,该服务器将使用REST(或其他)的调用公开给客户端(您的情况下是Android应用程序)。在我们的例

我按照上的教程,让我的android应用程序将数据写入DynamoDB。它工作得很好。但是,在阅读了本文之后,我意识到我需要在Android应用程序和DynamoDB之间安装RESTAPI


其中是REST api(和网关api)的文档;是否有任何使用此类api的工作示例,可以帮助我在AWS中构建REST api,可以接受来自Android应用程序的请求?在经典方法中,您将有一个专用的api服务器,该服务器将使用REST(或其他)的调用公开给客户端(您的情况下是Android应用程序)。在我们的例子中,这个API服务器可以是任何编程语言.Net。API服务器通常包含一个客户端可以调用的API facade、一个从API facade调用并包含业务逻辑的服务层,然后是一个数据访问层,该数据访问层实际调用DynamoDB或后面的任何DB系统。这是相当干净的,因为您可以有几个API外观,例如后端系统、集成系统等。实际的业务逻辑(如果有)应该在服务层中

在基础设施方面,我们在AWS Elastic Beanstalk上运行API服务器,这大大简化了部署。您需要能够处理各种API版本,以便在更新API后,使用不同API调用的旧Android应用程序仍能工作

话虽如此,对于实际业务逻辑很少的简单项目来说,这可能有点过头了。Amazon提供了允许您向客户端公开逻辑的功能,您将能够访问DynamoDB或其背后的任何东西。我建议您尝试HTTP端点演练,看看它是如何工作的。一旦您运行了它,其优点是,您不需要专门的服务器来进行API调用,但可以使用网关处理所有事情,并且您只需为每个请求付费,因此它可以很好地扩展


一旦了解了技术方法,首先定义客户机和服务器之间的接口(API)是有意义的;因此,您还可以创建存根方法,并在Android和服务器逻辑之间独立工作。

在传统方法中,您将拥有一个专用的API服务器,该服务器将使用REST(或其他)向客户端(您的安卓应用程序)公开调用。在我们的例子中,这个API服务器可以是任何编程语言.Net。API服务器通常包含一个客户端可以调用的API facade、一个从API facade调用并包含业务逻辑的服务层,然后是一个数据访问层,该数据访问层实际调用DynamoDB或后面的任何DB系统。这是相当干净的,因为您可以有几个API外观,例如后端系统、集成系统等。实际的业务逻辑(如果有)应该在服务层中

在基础设施方面,我们在AWS Elastic Beanstalk上运行API服务器,这大大简化了部署。您需要能够处理各种API版本,以便在更新API后,使用不同API调用的旧Android应用程序仍能工作

话虽如此,对于实际业务逻辑很少的简单项目来说,这可能有点过头了。Amazon提供了允许您向客户端公开逻辑的功能,您将能够访问DynamoDB或其背后的任何东西。我建议您尝试HTTP端点演练,看看它是如何工作的。一旦您运行了它,其优点是,您不需要专门的服务器来进行API调用,但可以使用网关处理所有事情,并且您只需为每个请求付费,因此它可以很好地扩展


一旦了解了技术方法,首先定义客户机和服务器之间的接口(API)是有意义的;因此,您还可以创建存根方法,并在Android和服务器逻辑之间独立工作。

DynamoDB不是RDS。这是两种完全不同的服务。我同意这是两种不同的服务。但我的问题是不同的。我们的问题(至少在一读时)似乎是建立在一个不合理的前提之上的。“我使用的是DynamoDB,但访问RDS需要REST API。”也许你是说,你看到的是一种并行关系,而不是直接关系。你链接到的问题是,“最好在AWS上安装一个REST API,与数据库接口。”。换句话说,您可以选择任何语言来编写web服务器,该服务器公开与数据库通信的REST API,这就是您很难找到文档的原因,因为没有直接的答案。DynamoDB不是RDS。这是两种完全不同的服务。我同意这是两种不同的服务。但我的问题是不同的。我们的问题(至少在一读时)似乎是建立在一个不合理的前提之上的。“我使用的是DynamoDB,但访问RDS需要REST API。”也许你是说,你看到的是一种并行关系,而不是直接关系。你链接到的问题是,“最好在AWS上安装一个REST API,与数据库接口。”。换句话说,您可以选择任何语言来编写web服务器,该服务器公开与数据库通信的REST API,这就是为什么您很难找到文档的原因,因为没有直接的答案。