Tag: amazon web services

AWS Elastic Beanstalk – 在环境之间切换环境variables

我正在使用Elastic Beanstalk的aws:elasticbeanstalk:application:environment命名空间来使用env varsconfiguration我的环境。 如何为不同的环境设置不同的值,例如开发与生产。 发展: option_settings: aws:elasticbeanstalk:application:environment: REDIS_HOST: localhost 生产: option_settings: aws:elasticbeanstalk:application:environment: REDIS_HOST: prod.redis.server.com

按优先级和组值sorting结果,然后筛选结果

这是我的DynamoDB当前数据: 我的目标是创build一个查询过滤结果在组集(像“默认”),然后按优先级进行sorting,然后筛选结果为那些login到== true和状态==空闲。 在SQL中,它会是这样的 SELECT * FROM userstatustable WHERE group == "default" AND loggedIn == true AND status == "idle" ORDER BY priority DESC LIMIT 1 我将如何创build一个查询来做到这一点? 以下是我对DynamoDB表的serverless.yml文件描述。 userStatusTable: #This table is used to track a users current status. Type: AWS::DynamoDB::Table Properties: TableName: ${self:custom.userStatusTable} AttributeDefinitions: #UserID in this case will be created once and constantly […]

在dynamodb预期的约束,以防止重复

我是DynamoDB的新手,我无法在node.js和DynamoDB中使用以下scheme: 我想插入一个用户在用户表中,但我不希望这个成功,如果用户的电子邮件地址已经存在。 以下代码能够成功插入新用户: var item = { id: { S: uuid.v4()}, email: { S: 'my@email.com' } }; dynamodb.putItem({ TableName: 'user', Item: item, Expected: { email: { Exists: false } } }, function (err, data) { if (err) { return callback(err); } callback(); }); 我认为预期值会通过引发ConditionalCheckFailedException错误来防止用户表中的重复电子邮件地址。 不是这种情况; 上面的代码将一致插入重复的电子邮件。 我尝试添加“ID”作为额外的预期字段,但这并没有改变行为。 当我修改代码的时候,我得到一个ConditionalCheckFailedException,所以ID是固定的,而不是生成的UUID; var item = { id: { S: […]

将yeoman node.js应用程序部署到Elastic Beanstalk

我有一个使用Yeoman生成器开发的NodeJS应用程序,我试图将其部署到Elastic Beanstalk实例。 我对这个堆栈相当陌生,所以如果这个问题似乎分散,我很抱歉。 我能够使用这个过程来部署我的应用程序: http : //docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs_express.html 。 但是,当我打开我的主页时,我只有一个空白的Node应用程序。 我猜这是因为部署来自我的Git仓库,我的Grunt构build过程尚未运行。 有没有什么办法告诉Elastic Beanstalk在收到可部署后运行Grunt构build?

putObject使Nodejs中的服务器上的对象更大

我正在使用Nodejs尝试使用aws-sdk将图像推送到S3实例。 目前,它从客户端上的一个文件读取,然后将其保存在服务器上(我使用的是meteor框架)。我想推送到S3服务器,而不是保存在meteor服务器上。 当我尝试迁移它时,图像似乎在S3上增加了大约30%。 如果我尝试从S3下载它们,图像也不再可见,所以看起来它已经改变了编码或者什么。 这里是在客户端加载文件的代码: saveFile = function( blob, name, path, type, callback ) { var fileReader = new FileReader(); var method; var encoding = 'binary'; var type = type || 'binary'; switch( type ) { case 'text': method = 'readAsText'; encoding = 'utf8'; break; case 'binary': method = 'readAsBinaryString'; encoding = 'binary'; break; default: […]

如何使用Knox将文件从NodeJSstream式传输到Amazon S3?

在NodeJS中,我是非常新的stream – 对于他们基本上毫无头绪 – 我试图让Amazon S3的KnoxJS客户端通过HTTP GETstream式传输文件。 Knox github页面上的示例代码显示了这一点: http.get('http://google.com/doodle.png', function(res){ var headers = { 'Content-Length': res.headers['content-length'] , 'Content-Type': res.headers['content-type'] }; client.putStream(res, '/doodle.png', headers, function(err, res){ // check `err`, then do `res.pipe(..)` or `res.resume()` or whatever. }); }); 但是,这是非常明显的不完整的……除了打开http.get和putStream for S3之外, 那么我从哪里去呢? 有人可以帮我完成这段代码,这样我就可以通过HTTP GET将文件stream式传输到S3上的存储桶中了吗?

Elastic Beanstalk for NodeJS上的SELF_SIGNED_CERT_IN_CHAIN错误

我很清楚这个问题的根源,因为npm在他们的博客上写道: http : //blog.npmjs.org/post/78085451721/npms-self-signed-certificate-is-no-more 解决scheme是要么: 1)升级你的npm版本 npm install npm -g 要么 2)告诉你当前版本的npm使用已知的注册商 npm config set ca "" 但是,这两种解决scheme都不适用于Elastic Beanstalk。 npm链接到已安装节点的版本(v0.10.10),并且不可能告诉当前的npm版本使用已知的注册服务器。 我为NodeJS运行一个64位Amazon Linux实例 在.ebextensions中添加此命令不会有帮助: container_commands: 01_npm-fix: command: /opt/elasticbeanstalk/node-install/node-v0.10.10-linux-x64/bin/npm config set ca "" 任何人都想出了这个解决scheme?

部署在aws上使用mongo db的节点js应用程序

我对亚马逊的web服务和弹性beanstalk很陌生。 虽然很多人说使用简​​单明了,但我认为这是一个非常主观的陈述。 对于像云计算虚拟主机和虚拟私人服务器这样的新人来说,我相信学习曲线和那些不得不“学习”的人是没有多大区别的。 我正在开发一个使用expressjs作为核心框架和MongoDB作为数据库的nodejs网站。 我的雇主希望我们使用AWS。 现在就是问题出现的地方。 我已经能够build立一个弹性beanstalk的环境,甚至上传应用程序和环境开始,但没有任何工作。 我所遇到的第一个问题是,尽pipe我成功地build立了环境,但我几乎不知道所有的configuration是什么意思,而且我的脑袋正在旋转。 AWS官方文档在这方面帮助不大。 其次,我不知道如何使它与MongoDB一起工作,在仪表板上,我看到的唯一select是Amazon RDS,对于像我这样的新手来说,我search的任何解释都是相当复杂的。 有没有人有链接到某处我可以得到一个简单的解释,或者可以简单地解释一下如何做到这一点? PS:我创build的AWS环境是运行Node.js的64位Amazon Linux 2014.03 v1.0.6 编辑:我得到错误502坏网关。 该应用程序运行在面向前端的nginx代理之后。

parsingDynamoDB请求

我的目标是recursion地从dynamo.getItem方法parsingDynamoDB请求。 不幸的是,我在DynamoDB SDK for Node.js中找不到类似的方法。 http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html 我正在寻找从结果中删除types的有效方法。 在DynamoDB中,键是属性的单字母名称,如“N”,“S”,“M”。 这些types的描述: N means DynamoDB Number type S means dynamoDB String type M means DynamoDB Map type (object with properties) 目前的JSON结构是: { "id":{ "N":"4" }, "number":{ "N":"1" }, "data":{ "M":{ "aaa":{ "S":"AAA" }, "lv2":{ "M":{ "lv3":{ "M":{ "ccc":{ "N":"111" } } }, "bbb":{ "S":"BBB" } } } } […]

从Amazon S3存储桶中检索图像

我将图像存储在S3存储桶中,但我无法显示图像的链接。 这是我得到的错误: <Error> <Code>AccessDenied</Code> <Message>Access Denied</Message> <RequestId>8CAF92C03A75648C</RequestId> <HostId> ocfqcRiXsJoV0mBom0z+nmV3seEMRpdBMvDddy1sgQrIOq19/UvK6BmurlM8v20zGIvh2ITHjYc= </HostId> </Error> 我需要在不同的域上显示图像,但是我可以在为每个域创buildCORS规则时处理这些图像。 <CORSConfiguration> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSeconds> <AllowedHeader>*</AllowedHeader> </CORSRule> </CORSConfiguration> 我怎样才能打开这个桶,使图像公开可以显示?