Más información: explorar la aplicación utilizada en este tutorial - AWS OpsWorks

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Más información: explorar la aplicación utilizada en este tutorial

importante

AWS OpsWorks Stacks ya no acepta nuevos clientes. Los clientes actuales podrán utilizar la consola, la API, la CLI y los recursos de CloudFormation de OpsWorks con normalidad hasta el 26 de mayo de 2024, fecha en la que dejarán de dejarán de estar disponibles. A fin de prepararse para esta transición, le recomendamos que pase sus pilas a AWS Systems Manager lo antes posible. Para más información, consulte AWS OpsWorks Stacks Preguntas frecuentes sobre el final de la vida útil y Migración de sus AWS OpsWorks Stacks aplicaciones a AWS Systems Manager Application Manager.

En este tema se describe la aplicación que implementa AWS OpsWorks Stacks en la instancia para este tutorial.

Para ver el código fuente de la aplicación, extraiga el contenido del repositorio GitHub opsworks-windows-demo-nodejs en un directorio vacío en su estación de trabajo local. También puede iniciar sesión en la instancia en la que ha implementado el libro de recetas y explorar el contenido del directorio /srv/mylinuxdemoapp.

El archivo index.js contiene el código más importante para la aplicación:

var express = require('express'); var app = express(); var path = require('path'); var os = require('os'); var bodyParser = require('body-parser'); var fs = require('fs'); var add_comment = function(comment) { var comments = get_comments(); comments.push({"date": new Date(), "text": comment}); fs.writeFileSync('./comments.json', JSON.stringify(comments)); }; var get_comments = function() { var comments; if (fs.existsSync('./comments.json')) { comments = fs.readFileSync('./comments.json'); comments = JSON.parse(comments); } else { comments = []; } return comments; }; app.use(function log (req, res, next) { console.log([req.method, req.url].join(' ')); next(); }); app.use(express.static('public')); app.use(bodyParser.urlencoded({ extended: false })) app.set('view engine', 'jade'); app.get('/', function(req, res) { var comments = get_comments(); res.render("index", { agent: req.headers['user-agent'], hostname: os.hostname(), nodeversion: process.version, time: new Date(), admin: (process.env.APP_ADMIN_EMAIL || "admin@unconfigured-value.com" ), comments: get_comments() }); }); app.post('/', function(req, res) { var comment = req.body.comment; if (comment) { add_comment(comment); console.log("Got comment: " + comment); } res.redirect("/#form-section"); }); var server = app.listen(process.env.PORT || 3000, function() { console.log('Listening on %s', process.env.PORT); });

Esto es lo que hace el archivo:

  • require carga módulos que contienen algún código dependiente que esta aplicación web necesita para funcionar como se espera.

  • Las funciones add_comment y get_comments escriben información en y leen información del archivo comments.json.

  • Para obtener información sobre app.get, app.listen, app.post, app.set y app.use, consulte la referencia de la API Referencia de la API Express.

Para obtener información sobre cómo crear y empaquetar la aplicación para la implementación, consulte Origen de las aplicaciones.