Около месяца назад я представил 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);