3 votes

Comment accéder aux données relationnelles (sql azure) via les services mobiles azure ?

J'ai cherché de bons tutoriels et de la documentation sur le fonctionnement d'azure mobile services pendant les 3-4 dernières heures. Je tombe toujours sur des tutoriels qui montrent comment créer un service mobile, connecter une base de données existante ou en créer une nouvelle, et accéder aux données stockées dans une table créée dans le service mobile lui-même. Je ne trouve nulle part comment accéder à une base de données réelle plutôt qu'aux tables de stockage créées dans le service mobile. Je ne comprends pas pourquoi on ne peut pas accéder aux données directement à partir d'une base de données plutôt qu'à partir de ce "service mobile", à moins que cette chose ne fonctionne réellement de la manière dont un service OData est censé fonctionner en ce qui concerne la fourniture d'un modèle de données abstrait pour sécuriser la structure de données sous-jacente.

Ma question est la suivante : Comment puis-je accéder à ma base de données Sql Azure (structure relationnelle) via mon service azure mobile ?

3voto

Herve Roggero Points 2727

Adrian,

La réponse se trouve dans votre question. Le service mobile est une couche abstraite ; c'est pourquoi vous ne pouvez pas accéder directement aux tableaux. La requête du téléphone est transmise au service mobile, qui vous permet d'exécuter la logique, puis se retourne et accède à la base de données en votre nom. Il est préférable de procéder de cette manière pour de nombreuses raisons, notamment la mise en commun des connexions et la sécurité. Pour plus de détails sur le fonctionnement des opérations, consultez la documentation MSDN sur l'application Service mobile REST qui permet à ce système de fonctionner.

Remerciements Herve

3voto

Teemu Tapanila Points 1265

Voici l'article de blog expliquer le processus d'exposition de votre base de données SQL existante à partir de Windows Azure Mobile Services Custom API

Vous pouvez effectuer des requêtes SQL directement depuis le côté javascript.

exports.get = function(request, response) {
   var id = request.query.id;
   request.service.mssql.query(
      'select * from Person join Orders on Person.ID = Orders.PersonID where Person.id = ' + id, {
      success: function(results) {
         response.send(200, results);
      }
   });
};

Plus de documentation sur mssql objet.

1voto

Alexander Galkin Points 4312

En tant que Hervé Roggero déjà souligné, la Services mobiles API RESTful est la méthode suggérée pour accéder à vos tables dans SQL Azure. L'idée des services mobiles est de soulager votre application du fardeau de l'accès aux données et de leur modification et de le confier à un service hébergé dans le nuage.

Si vous souhaitez néanmoins accéder "directement" aux tableaux de données, vous disposez des moyens suivants :

Dans votre serveur scripts. vous pouvez utiliser l'option globale mssql pour exécuter des requêtes SQL sur votre base de données, re ou les insérer.

mssql.query('select top 1 * from statusupdates',    
     { success: function(results) 
            {
            console.log(results); 
            } 
        }
); 

Si vous avez d'autres services hébergés dans le nuage (rôles web ou travailleur) et que vous avez activé l'accès au pare-feu pour les demandes internes, vous pouvez accéder au serveur SQL Azure à l'aide du protocole TDS et manipuler les données à votre guise.

Enfin, vous pouvez ouvrir le pare-feu de votre SQL Azure afin de pouvoir vous y connecter à partir d'un réseau externe et encore une fois, utilisez le protocole TDS sur votre client pour la communication avec la base de données.

Mais je n'appellerais aucune de ces trois méthodes "via les services mobiles", mais plutôt "de l'intérieur" (1) et "en les contournant" (2,3).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X