Node.js, клиент мобильных служб Azure, JSDOM и веб-задания?

Я поигрался с веб-заданием на своей платформе Azure и решил, что я брошу вызов и напишу его на JS.

У меня есть практически все, что связано с Azure Easy Tables, на которое опирается написанное мной приложение - ИСКЛЮЧАЯ - я решил, что я хочу, чтобы сервер (Azure) выполнял сбор информации API и помещал ее прямо в таблицы для меня.

Пока что я могу заставить среду jsdom общаться с Azure, но пользовательский агент, как мне кажется, выталкивает мобильный клиент.

jsdom.env({
html: "<!DOCTYPE html><html><head></head><body></body></html>",
headers: { 'User-Agent': 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)' },
done: function (errors, window) {
var $ = require("jquery")(window);

console.log('Kebab');
console.log(window.navigator.userAgent);
console.log('Lettuce?');

var client = new WindowsAzure.MobileServiceClient('https://myapp.azurewebsites.net');
var locationTable = client.getTable('table').read().then(
  function (events) {
    console.log(events);
  },
  function (events) {
    console.log(events);
  }
 );

console.log('Chilli?');
console.log(client);
window.close();
}
});

Window.navigator.userAgent сообщает:

Node.js (win32; U; rv:v6.7.0) AppleWebKit/537.36 (KHTML, like Gecko)

Подключение Azure к таблице дает мне следующее:

Error: Unsupported browser - no suitable providers are available.

Что при поиске означает, что запуск Azure не сработает, поскольку он не видит ни одного браузера, который позволил бы ему работать.

Я знаю, что до платформы Azure дошло, поскольку console.log(client) отвечает идентификатором установки.

Так это JSDOM? Клиент Azure нуждается в настройке, чтобы разрешить это? Лучший способ использовать инструменты, которые у меня есть (должны быть Easy Tables и т. Д.).


person MarkBeharrell    schedule 24.10.2016    source источник


Ответы (1)


К сожалению, JS-библиотека MobileServiceClient сейчас не работает в среде Node. (Не стесняйтесь регистрировать запрос функции в нашем репозитории на github).

В качестве обходного пути вам нужно будет выполнить прямое HTTP-соединение, запросив / tables / с правильными заголовками (в первую очередь, ZUMO-API-VERSION = 2.0.0)

person Adrian Hall    schedule 24.10.2016
comment
Хм-м-м, ладно, наверное, я видел это: npmjs.com/package/ и подумал, что теперь узел включен. - person MarkBeharrell; 24.10.2016
comment
... и буууу, так как он так близок к работе. Он может добраться до сервера, и я вижу запрос, после которого он ничего не может сделать :( - person MarkBeharrell; 24.10.2016
comment
SDK находится в npm, поэтому вы можете установить его с помощью npm и использовать с Browserify, Webpack или Broccolli. Этого недостаточно, чтобы он работал в Node. - person Adrian Hall; 25.10.2016