Около месяца назад я представил FogJS . На главном сайте FogJS есть несколько примеров кода, которые можно использовать для быстрого начала взаимодействия с хранилищем BLOB-объектов , хранилищем таблиц или служебной шиной Azure. Однако, если вы новичок в использовании Azure из Node.js, вам может быть интересно, какие еще шаги нужно предпринять, чтобы настроить и запустить среду разработки. Несмотря на то, что вы можете почерпнуть пошаговые инструкции, прочитав различные практические руководства, представленные на сайте Azure, иногда бывает полезно описать процесс немного иначе. В этой статье я покажу вам, как быстро настроить Windows-машину для взаимодействия с эмулятором Table Storage с помощью FogJS . Я буду следовать той же структуре, что и руководство по началу работы с Node.js.и несколько шагов между этим постом и этим руководством совпадают. Некоторые из ключевых отличий включают использование WorkerRole, а не WebRole, использование эмулятора и, конечно, использование FogJS.
Настройка вашего Windows-компьютера:
1. Установите Node.js с http://nodejs.org/ .
2. Установите Windows Azure SDK для Node.js (для этого может потребоваться перезагрузка).
3. Откройте командную строку PowerShell и перейдите к родительскому местоположению, в котором вы хотите создать проект. Я буду использовать c: \ Temp для этого примера.
4. Запустите следующую команду, чтобы создать пару начальных файлов для вашего проекта (примечание:
FogJSExample следует заменить на имя проекта, который вы хотите создать).
New-AzureServiceProject FogJSExample
6. Перейдите в каталог FogJSExample и установите FogJS с помощью команды:
npm install fogjs
5. Создайте рабочую роль с помощью следующей команды (примечание:
TableStorageWorker должен быть заменен именем работника, которого вы хотите создать).
Add-AzureNodeWorkerRole TableStorageWorker
7. Перейдите в каталог TableStorageWorker, отредактируйте файл server.js и замените текст в нем следующим текстом:
var http = require('http');
var fogjs = require("fogjs");
var fog = fogjs.tableStorage;
var port = process.env.port || 1337;
http.createServer(function (req, res) {
var testTableName = "testTableName";
var key = "myRowKey";
var partitionKey = "testPartition";
fog.insertEntity({
"tableName" : testTableName,
"entity": {
"PartitionKey" : partitionKey,
"RowKey" : key,
"MyCustomField" : "Legends of Awesomeness!"
}
}).then(function(response){
return fog.queryEntity({
"tableName" : testTableName,
"entityDescriptor": {
"PartitionKey" : partitionKey,
"RowKey" : key,
}
});
}).then(function(response) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('MyCustomField from the created entity contains the text "' +
response.entity.MyCustomField + '"');
}).fail(function(errorMessage) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('There was an error with message: ' + errorMessage);
}).then(function() {
// For this example, we'll delete the entity.
fog.deleteEntity({
"tableName" : testTableName,
"entityDescriptor": {
"PartitionKey" : partitionKey,
"RowKey" : key
}
});
});
}).listen(port);



