我正在尝试将我的Android应用程序移植到基于云的应用程序中.我希望将数据存储在云端.我是一个.NET人,所以看看Azure.我看到Azure Mobile服务允许我创建表和身份验证功能.我也查看了Azure SQL数据库.
我想知道这两种服务之间的区别是什么,使用移动服务的方案比使用Azure SQL数据库提供的值更多
实际上,您在Azure移动服务中列出的表实际上是Azure SQL数据库实例中的表.移动服务在SQL Server的表之上提供了一个抽象层.如果您使用当前的JavaScript后端移动服务,您将在管理门户中看到该表,它使用JavaScript的动态特性来提供看似NoSQL的Azure SQL数据库体验,您可以在其中发送它无法识别的对象和属性将被添加到表模式中(当您发送到生产时,请将其关闭:)).需要记住的重要一点是,数据库是一个Azure SQL数据库,因此您应该可以通过Azure移动服务创建的数据库访问并执行任何操作,就像使用原始Azure SQL数据库一样.
通过使用Azure移动服务,您可以获得一个API托管层,您可以使用它来直接访问表(基于您提供的权限),也可以使用自定义API功能.
如果您选择绕过Azure移动服务,您可能希望在Android应用和数据之间存在一些API层,原因有多种(安全性,数据位置抽象等).在这种情况下,您必须在某处编写和托管该API层.Azure中的其他选项是Azure网站中的Web API站点,Azure云服务中托管的API或Azure VM的所有方式; 然而,随着你向上滑动,你承担了越来越多的责任和工作.
通过Azure SQL DB使用Azure移动服务非常有用的场景几乎就是您拥有的场景.您不必维护自己的托管API层,只需维护API层执行的代码.您可以扩展必要的(确实非常大规模)并获得推送通知和Web作业等功能(如果您愿意,这些也可以通过Azure中的其他服务执行).将Azure移动服务视为对移动开发人员有帮助的更高级别的Azure服务分组.