Tag: amazon web services

用AWS XRAY航行

应该如何在Sails上安装AWS XRAY? 我正试图将安装说明翻译成Sails使用Express中间件的首选方式,但是我正在平躺在我的脸上。 大多数人会立即开始使用“使用config / http.js”来configuration中间件。 那么,在我的情况下,这是行不通的,因为我的API是专门用于Sails.io(套接字),所以http中间件configuration从不使用。 所以现在,合乎逻辑的一步是使用策略。 那么,如果你已经阅读了XRAY指令,你就知道他们正试图捕获所有的请求到应用程序,这需要在启动和停止函数调用之前和之后configuration路由。 所以,政策不起作用。 所以,我的下一步是尝试在app.js和config / bootstrap.js文件中无效,可能是因为我无法轻易获取Sails正在使用的Express实例。 那么,Sails目前的configuration选项有可能吗? 任何人有任何线索如何做到这一点?

AWS backend +响应前端:处理请求

我正在搞AWS,我已经使用dynamodb,api网关和cognito设置了一个简单的REST API。 我用node + express编写了REST API。 我的节点应用程序在EB上,基本上我使用cognito处理API网关中的请求的身份validation。 作为一个独立的,这似乎是正常工作,因为我正在testing它使用一个简单的反应的应用程序。 现在我正在为我的实际反应应用程序做服务器端渲染,所以我试图找出处理这个问题的最佳方法。 对于服务器端渲染,我有另一个名为react-app-server的节点应用程序,我想在API网关上处理caching,并使用cloudfront来提供静态文档,图像等。 所以,如果我去www.mysite.com/for-sale/some-item-thats-for-sale ,这个请求应该首先检查是否有这个页面的caching版本并提供它。 否则,我需要让我的react-app-server呈现.html并提供/caching它。 由于有两个节点应用程序,api-server和react-app-server,我怎么能从我的api-gateway指向react-app-server来呈现html? 这个场景如何适应AWS体系结构? 我意识到这可能是一个非常愚蠢的问题,但我真的很新。 谢谢

AWS API网关:由于configuration错误而导致执行失败:响应中的JSON无效

我有一个调用Lambda函数的自定义授权者的API网关设置。 为了testing的目的,我从这里复制了这个例子: http : //docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-lambda.html#api-网关代理集成-λ-function的NodeJS 我得到的文件相同的答案,但是当我testing授权者,我得到这个堆栈跟踪: Endpoint request body after transformations: {"type":"TOKEN","authorizationToken":"test","methodArn":"arn:aws:execute-api:ap-southeast-2:893445519708:uyue0zqh15/null/GET/"} Authorizer result body before parsing: {"statusCode":200,"headers":{"x-custom-header":"my custom header value"},"body":"{\"message\":\"Hello World!\",\"input\":{\"type\":\"TOKEN\",\"authorizationToken\":\"test\",\"methodArn\":\"arn:aws:execute-api:ap-southeast-2:893445519708:uyue0zqh15/null/GET/\"}}"} Execution failed due to configuration error: Invalid JSON in response: {"statusCode":200,"headers":{"x-custom-header":"my custom header value"},"body":"{\"message\":\"Hello World!\",\"input\":{\"type\":\"TOKEN\",\"authorizationToken\":\"test\",\"methodArn\":\"arn:aws:execute-api:ap-southeast-2:893445519708:uyue0zqh15/null/GET/\"}}"} AuthorizerConfigurationException 为什么授权人不喜欢JSON响应?

无服务器框架:如何使用CloudFormation进行部署?

我是无服务器框架的新手。 那么,至less到最新的版本,这在很大程度上取决于CloudFormation。 我在我的计算机上使用以下方法全局安装框架 npm install -g serverless 然后我创build了一个服务使用: serverless create –template aws-nodejs –path myService 最后,我跑了: serverless deploy 一切似乎正常部署,它显示在terminal没有错误。 我可以在新创build的专用S3存储桶中看到CloudFormation文件。 但是,我无法在AWS Lambda控制台中find默认的“ hello Lambda函数。 我错过了什么? CloudFormation文件是否应该在部署时创buildLambda函数?

为什么AWS Lambda函数总是超时?

我正在testingaws lambda,使用4.3版本的nodejs。 我能够在控制台testing中成功完成处理函数中的所有语句,包括连接到我们vpc中的mongodb主机。 但是,function总是超时。 我发现了几个post和资源,讨论使用callback,设置上下文的属性和IAMangular色权限,但无论我做什么,它总是结束超时。 当前代码: 'use strict'; var Mongoose = require('mongoose'); var Device = require('./device_model'); var Alarm = require('./alarm_model'); var Event = require('./event_model'); var mongoConnection = process.env.MONGO_URL; var connection = Mongoose.connect(mongoConnection); Mongoose.connection.once('open', function() { console.log("Connecting to mongo at: " + mongoConnection); console.log("Mongoose connection in lambda opened"); }); Mongoose.connection.on('error', function(){ console.error("Error creating mongoose connection in […]

AWS lambda无服务器网站会话维护

我开发了一个使用node.js作为后端的网站。 最近我试图使它无服务器,并部署到lambda。 我将重写大部分代码,但是在用户login后还没有想出如何维护会话。我使用“express-session”模块,会话数据全部logging在数据库中。 说实话我对会议没有很深的理解。 我search了谷歌,没有find我所需要的。 有没有人有一些使用lambda维护会话的示例代码? 或任何资源。 非常感谢!

如何运行sequelize db:使用env vars在Elastic Beanstalk EB上迁移? 如何在容器命令中访问.env vars?

如何运行sequelize db:使用env vars在ElasticBean上迁移? 运行sequelize迁移失败,因为它无法find.env文件。 { Error: ENOENT: no such file or directory, open '.env' 我的master.config如下所示: container_commands: 00_node_binary: command: "ln -sf `ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin/node /bin/node" 00_npm_binary: command: "ln -sf `ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin/npm /bin/npm" 01_migrations: command: npm run migrate leader_only: true 和我的package.json包含 "migrate": "node_modules/sequelize-cli/bin/sequelize db:migrate"

Elastic Beanstalk CLI错误:此目录尚未使用EB CLI进行设置您必须首先运行“eb init”

我试图连接到我通过CLI在Web浏览器控制台中创build的弹性beanstalk应用程序,但是每次我尝试执行任何操作时,都说我没有使用EB CLI设置目录,我必须先运行“eb init”。 但是,我不想创build一个新的应用程序,我只是想通过terminal/ cmd访问旧的应用程序,所以我可以部署我的nodejs到它。 我如何通过CLI访问它,而不用'eb init'创build一个新的应用程序? 谢谢

nodejs将上传的文件直接传输到S3,而不需要等待两个时间

您好,我正在开发REST API的移动应用程序,其中用户上传图像到应用程序服务器,然后服务器上传图像到亚马逊S3和更新数据库。 问题: 1.User wants to upload 10MB file It takes 10 seconds to travel from user's device to my server 2.After server has received last bit, it starts uploading to S3. Another 10 seconds. 3.After 20 seconds in total, user is presented with hyperlink. 我觉得这20秒可以减less一半,减less到12个左右。 如果Nodejs足够聪明,可以在最后一位到达后开始上传到S3,但是在用户到达第一位之后 – 不要等待所有file upload,而是开始stream式传输。 这可能吗?

EC2实例上的节点js应用程序 – 域名

我第一次使用EC2实例,我有一个使用pm2运行我的节点应用程序的微型实例 var express = require('express'); var app = express(); var path = require("path"); var PORT = process.env.PORT || 3000; // Serve Static files app.use(express.static(path.join(__dirname, 'public'))); app.listen(PORT); console.log('%d App listening on %d', process.pid, PORT); 所以这将运行的端口3000(这是好的?)。 所以我可以去mypublicip:3000 ,看看我的应用程序正在运行 我想要做的是去我的域名mydomainname.co.uk并呈现该网站。 域名购买了彻底123注册 任何人都可以指出我正确的方向 – 我已经设置弹性IP,但不知道从哪里去 任何帮助赞赏