Articles of amazon web services

通过JavaScript访问Amazon DynamoDB上的数据

1)客户端访问:是否有使用客户端JavaScript(REST / Ajax / jQuery)在DynamoDB上执行CRUD操作? 我知道亚马逊支持.NET和Java。 2)服务器访问:有什么办法可以使用服务器端JavaScript(Node.js)访问DynamoDB,而无需在服务器上安装Java / .NET?

SNS推送通知与图像使用Node.js?

我使用的是Amazon和iOS的Amazon SNS Mobile Push Notifications。 只有发送带有文本和图标的推送通知,我非常成功。 现在我试图发送图像底部的通知。 我search每一个地方,但无法find一个完美的文档工作。 任何build议,请。 我用npm安装了这个包,我用这个来发送推送通知。 请参考这个链接。 https://www.npmjs.com/package/sns-mobile AWS_SNS_App.getUsers(function (err, allDevices) { if (err) { console.log(err, err.stack); // an error occurred } else { if (allDevices.length != 0) { var totalDevices = 0; for (var i = 0; i < allDevices.length; i++) { totalDevices = totalDevices + 1; AWS_SNS_App.sendMessage(allDevices[i].EndpointArn, message, function […]

在亚马逊lambda,并行调整多个缩略图大小asynchronous抛出错误:stream产生空的缓冲区

我已经调整了在lambda中调整照片大小的Amazon示例以创build多个缩略图大小并行运行。 我的代码在几秒钟内在本地运行良好,但在lambda云中,它不会并行运行,并在调整第一个缩略图大小后引发错误。如果将其切换为串行而不是并行,则需要大约60秒连续运行。 为什么会在lambda中并行运行resize的代码会导致stream产生空的缓冲区错误。 如何提高性能,以便在几秒钟内创build尺寸,但是在处理器成本方面仍然可以获得良好的价值和效率。 // dependencies var async = require('async'); var AWS = require('aws-sdk'); var gm = require('gm') .subClass({ imageMagick: true }); // Enable ImageMagick integration. var util = require('util'); // constants var SIZES = [100, 320, 640]; // get reference to S3 client var s3 = new AWS.S3(); exports.handler = function(event, context) { // […]

在AWS Lambda上以string的身体parsing多部分/表单数据

我很高兴看到 AWS现在支持AWS Lambda上的多部分/表单数据,但现在原始数据在我的lambda函数中,我该如何处理呢? 我看到multiparty是一个很好的多部分库的节点多部分处理,但它的构造函数期待一个请求,而不是一个原始的string。 我在Lambda函数(正文映射模板应用之后)上接收到的input消息是: { "rawBody": "–ce0741b2-93d4-4865-a7d6-20ca51fe2689\r\nContent-Disposition: form-data; name=\"Content-Type\"\r\n\r\nmultipart/mixed; boundary=\"————020601070403020003080006\"\r\n–ce0741b2-93d4-4865-a7d6-20ca51fe2689\r\nContent-Disposition: form-data; name=\"Date\"\r\n\r\nFri, 26 Apr 2013 11:50:29 -0700\r\n–ce0741b2-93d4-4865-a7d6-20ca51fe2689\r\nContent-Disposition: form-data; name=\"From\"\r\n\r\nBob <bob@mg.mydomain.io>\r\n–ce0741b2-93d4-4865-a7d6-20ca51fe2689\r\nContent-Disposition: form-data; name=\"In-Reply-To\"\r… 等等和一些文件数据。 我正在使用的正文映射模板是 { "rawBody" : "$util.escapeJavaScript($input.body).replaceAll("\\'", "'")" } 我怎样才能parsing这些数据以获取发布到我的Lambda函数的字段和文件?

aws lambda中的简单node.js示例

我正在尝试用aws lambda发送一个简单的请求。 我的模块结构如下: mylambda |– index.js |– node_modules | |– request 我压缩文件,并将其上传到lambda。 然后我调用它,并返回以下错误。 "errorMessage": "Cannot find module 'index'" 这里是index.js文件的内容 var request = require('request'); exports.handler = function(event, context) { var headers = { 'User-Agent': 'Super Agent/0.0.1', 'Content-Type': 'application/x-www-form-urlencoded' } // Configure the request var options = { url: 'https://myendpoint', method: 'POST', headers: headers, form: {'payload': {"text":""} […]

在ElasticBeanstalk上运行Grunt

我有一个节点应用程序需要咕噜做一个“构build”,才能成功执行应用程序。 (运行连续/缩小/源代码转速等)。 我已经在具有SSH访问权限的EC2实例上运行了,因为我可以通过SSH进入目录并在部署过程中运行Grunt。 但是,为了实现这一点,我现在将应用程序移动到ElasticBeanstalk,而且我很难让应用程序成功运行grunt。 迁移到EB的原因是保持SSH密钥closures活动服务器,以便这些EB实例设置为不具有ssh访问权限。 似乎没有官方文件可以提供,有没有人可以指出我能够达到上述目标? 我需要在应用程序启动之前执行grunt以使应用程序具有可用的文件(否则将会有404)。

如何使用带有node.js的aws Lambda在aws DynamoDb中放置一个项目

我正在aws lambda上工作,我正在尝试使用node.js中的lambda函数来放置一个Item。 我有以下代码与我.. var AWS = require('aws-sdk'); var dynamoDBConfiguration = { "accessKeyId": "AccessKey", "secretAccessKey": "Secratekey", "region": "us-west-2" }; AWS.config.update(dynamoDBConfiguration); var dd = new AWS.DynamoDB(); var tableName = 'product_bhavik'; exports.handler = function(event, context) { putItem = function(itemName,prod_Id, prod_Name, prod_Desc, prod_Price) { console.log(" putItem Function Called"); var item = { 'itemName': { 'S': itemName }, 'microtime': { […]

如何在DynamoDB中查询不存在的(空)属性

我试图查询DynamoDB表来查找未设置email属性的所有项目。 包含email字段的表上存在名为EmailPasswordIndex全局二级索引。 var params = { "TableName": "Accounts", "IndexName": "EmailPasswordIndex", "KeyConditionExpression": "email = NULL", }; dynamodb.query(params, function(err, data) { if (err) console.log(JSON.stringify(err, null, 2)); else console.log(JSON.stringify(data, null, 2)); }); 结果: { "message": "Invalid KeyConditionExpression: Attribute name is a reserved keyword; reserved keyword: NULL", "code": "ValidationException", "time": "2015-12-18T05:33:00.356Z", "statusCode": 400, "retryable": false } 表格定义: var params […]

亚马逊SES电子邮件不再发送

我在使用Amazon SES发送电子邮件时遇到问题。 我有一个Amazon EC2实例。 它前几天工作,但我刚刚注意到上周所有的电子邮件现在失败。 我曾尝试使用Node和Amazon SES sdk进行发送,并从AWS内部发送testing电子邮件。 我在节点中有以下代码: var aws = require('aws-sdk'); // load aws config aws.config.loadFromPath('email_config.json'); // load AWS SES var ses = new aws.SES({ apiVersion: '2010-12-01' }); ses.sendEmail({ Source: from, Destination: { ToAddresses: to }, Message: { Subject: { Data: 'Somebody registered' }, Body: { Html: { Data: body, } } } […]

如何从DynamoDB列表中删除地图列表中的Map属性值?

我有以下列表示例: { "favorites": [ { "createdAt": 1448998673852, "entityId": "558da3de395b1aee2d6b7d2b", "type": "media" }, { "createdAt": 1448998789252, "entityId": "558da3de395b1aee2d6b7d83", "type": "media" }, { "createdAt": 1448998793729, "entityId": "558da3de395b1aee2d6b7d99", "type": "media" }, { "createdAt": 1448998813023, "entityId": "558da3de395b1aee2d6b7daf", "type": "media" } ], "userId": "2" } 我想删除地图: "entityId": "558da3de395b1aee2d6b7d2b" 。 我在想一个UpdateItem查询,我看过REMOVEexpression式文档( http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html ),但我似乎无法看到任何示例,除了通过索引值从列表中删除项目….