Articles of amazon web services

我应该如何从AWS Lambda函数连接到Redis实例?

我正在尝试使用AWS Lambda和无服务器框架为单页Web应用程序构buildAPI。 我希望使用Redis Cloud进行存储,主要是为了兼顾速度和数据持久性。 我将来可能会使用更多的Redis Cloudfunction,所以我宁愿避免使用ElastiCache。 我的Redis Cloud实例与我的function在同一AWS区域中运行。 我有一个名为related的函数,它将GET请求中的hashtag接收到API端点,并检查数据库中是否有条目。 如果它在那里,它应该立即返回结果。 如果不是,则应查询RiteTag ,将结果写入Redis,然后将结果返回给用户。 我很新,所以我可能做一些天真的事情。 这是事件处理程序: 'use strict' const lib = require('../lib/related') module.exports.handler = function (event, context) { lib.respond(event, (err, res) => { if (err) { return context.fail(err) } else { return context.succeed(res) } }) } 这是../lib/related.js文件: var redis = require('redis') var jsonify = require('redis-jsonify') var rt […]

Amazon Elastic Beanstalk npm找不到package.json

我很新的amazon web services,我想在他们的弹性beanstalk上设置node.js应用程序。 我设置了实例并上传/部署了该站点,但是当健康状况为“好”时,node.js日志显示了这个重复的约30次: npm ERR! enoent ENOENT: no such file or directory, open '/var/app/current/package.json' npm ERR! enoent This is most likely not a problem with npm itself npm ERR! enoent and is related to npm not being able to find a file. npm ERR! enoent npm ERR! Please include the following file with any […]

AWS CodeDeploy AfterInstall脚本正在从代码部署代理目录运行

我试图在AWS代码部署中运行AfterInstall脚本,但是它正在从/ opt / codedeploy-agent / dir而不是我的app目录运行。 这是appspec.yml文件的样子: version: 0.0 os: linux files: – source: / destination: /tmp/epub hooks: AfterInstall: – location: server/install-packages.sh runas: root 你可以看到这是一个基本的例子。 现在,bash脚本如下所示: #!/bin/bash npm install 我只是想安装npm,就是这样。 不幸的是我得到的错误: LifecycleEvent – AfterInstall Script – server/install-packages.sh [stderr]npm ERR! install Couldn't read dependencies [stderr]npm ERR! Linux 3.13.0-48-generic [stderr]npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" [stderr]npm ERR! […]

从节点应用程序调用亚马逊lambda函数

我正在通过一个基本的AWS如何创build一个lambda函数: http://docs.aws.amazon.com/lambda/latest/dg/walkthrough-s3-events-adminuser-create-test-function-create-function.html 在这个例子中,我们正在创build一个图像大小调整服务,触发它的一种方法是监听一些图像被推送到S3桶,然后执行lambda函数。 但我想了解如何从我的nodejs应用程序调用这个lambda函数,当用户发送一个图像到我的节点服务器,我发送这个图像到aws lambda通过REST API重新resize,然后接收新的图像位置为一个回应。 有什么我可以遵循的例子吗? 我对实际的调用部分更感兴趣,因为我已经启动了我的lambda服务。 谢谢

在布尔键上的DynamoDB查询

我是DynamoDB的新手(对于一般的noSQL),并且为了让我的头脑围绕一些概念而挣扎。 有一件事情特别是给我一些问题,这是围绕一个布尔键查询表的问题。 我意识到我不能创build一个布尔键的主要或次要索引,但我不明白我应该如何理想地索引和查询具有以下结构的表; reportId: string (uuid) reportText: string isActive: boolean category: string 我希望能够完成以下search: 直接访问特定报告( reportId的主散列索引) 列出特定类别的报告(类别上的主要哈希索引) 这些都是直截了当的,但我想要执行另外两个查询; 列出所有标记为isActive = true的报告 列出标记为isActive = true的特定类别的所有报告 我的第一种方法是在isActive上创build一个主要的hashkey索引,并使用category ,但是我只能selectString , Number of Boolean作为键types。 存储isActive作为一个string(保存为“真”而不是布尔真)解决了这个问题,但它使用一个string可怕的布尔属性。 我错过了什么吗? 有一个简单的方法直接查询表的布尔值? 任何build议非常感激。 提前致谢。

如何在AWS Lambda中使用Node.js列出所有Amazon EC2实例?

我在AWS上, 在Node.js中使用AWS SDK for JavaScript 。 我正在尝试构build一个AWS Lambda函数,并且希望获得所有Amazon EC2实例的列表,但是我似乎无法使其工作。 任何人都可以发现我做错了什么? 这是我的Lambda函数代码: var AWS = require('aws-sdk'); AWS.config.region = 'us-west-1'; exports.handler = function(event, context) { console.log("\n\nLoading handler\n\n"); var ec2 = new AWS.EC2(); ec2.describeInstances( function(err, data) { console.log("\nIn describe instances:\n"); if (err) console.log(err, err.stack); // an error occurred else console.log("\n\n" + data + "\n\n"); // successful response }); […]

标签上的aws-sdk javascriptfilter:key = value

伙计们,我很难理解文档http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/frames.html 我需要抓取所有正在运行的实例,并为其分配以下标签: project = foo environment = production 以下似乎没有工作。 var params = { DryRun: false, Filters: [ { Name: 'instance-state-name', Values: [ 'running' ], }, { Name: 'tag:key=value', Values: [ 'foo', 'production' ], }, ] }; ec2.describeInstances(params, function (err, data) { …

AWS Lambda – 下载文件,并将其用于相同的function – nodejs

我有一些证书文件s3(公共),我要下载并在我的代码中使用这些文件,如果我在我的本地写nodejs的等效代码,它只是运行良好,但在AWS lambda它只是崩溃。 var apn = require('apn'); var https = require('https'); var fs = require('fs'); exports.handler = function(event, context) { console.log("Running aws apn push message function"); console.log("=================================="); console.log("event", event); var certPath = event.certPath; var keyPath = event.keyPath; var certFileName = event.certFileName; var keyFileName = event.keyFileName; var passphrase = event.passphrase; var apnId = event.apnId; var content = […]

如何在EC2的一个实例上运行多个应用程序

我有几个小生产网站和一堆有趣的爱好者/实验应用程序等等。 我想在一个EC2实例上运行它们。 我可以安装node.js,npm,express和couchdb一次,然后在不同的端口上运行每个应用程序,并调整我的域registry中的dns设置以指向相应的位置? 更新:谢谢迈克! 对于在EC2上查找多个IP地址的其他人: http : //docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html

获取AWS SMS的交付状态

我通过节点SDK从AWS发送短信。 短信发送情况良好,我正在尝试收到发送信息。 显然不是那么容易,而且必须设置SNS才能将日志发送到Cloudwatch,并parsingCloudWatch以获取查找MessageId的传递信息: https ://stackoverflow.com/a/40327061/2054629 如果我通过SNSnetworking界面发送短信,日志中会看到cloudwatch中的日志,而不是通过节点SDK发送日志。 在从节点发送消息之前,我无法获取有关如何设置消息的信息。 理想情况下,我想达到这样的东西: const sendSMS = async (message, number) => { // send the SMS // wait to get delivery info // resolve with delivery info, or reject if failed } 目前我有: import AWS from 'aws-sdk'; AWS.config.update({ accessKeyId: accessKey, secretAccessKey: secretKey, region: 'us-east-1', }); const sns = new AWS.SNS(); const […]