Tag: amazon web services

如何在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 […]

直接从Bitbucket部署到AWS Elastic Beanstalk

如何将最新的位(在本例中为nodejs应用程序)从Bitbucket部署到AWS Elastic Beanstalk。 我想避免从我的本地系统做一个git aws.push,因为这推动了整个repo,在低带宽情况下可能会很痛苦。 我想要的是能够在本地提交我的更改,然后推送到Bitbucket。 然后触发从Bitbucket到Elastic Beanstalk部署的部署。 任何帮助,将不胜感激。 我很乐意避免为了这样做而注册第三方服务,但是如果有必要的话,我会欢迎您的build议

为AWS S3的多个对象创build多个签名的URL

我们可以在node.js中创build多个签名的S3(AWS)的URL,用于单个请求中的多个对象。 假设需要生成100个用于访问100个对象的签名URL,并且我们正在使用被称为100次的AWS -sdk的getSignedUrl()函数。 我们能否以优化的方式做到这一点,并减less请求数量?

使用nodeJs和AWS调整图像大小

我正尝试使用nodejs从AWS S3存储桶中获取图像,将其大小调整为4种不同的大小,然后将其保存回同一个存储桶中,但保存到一个文件夹中,每个文件夹又包含4个文件夹,每个文件夹用于新的大小。 当我运行该函数时,我得到以下错误: Unable to resize devimageresize/diavelBlack.jpg and upload to / due to an error: Error: Stream yields empty buffer 我是相对较新的nodejs,我不知道我正在写代码。 什么是造成这个错误? 这是我的代码: // dependencies var async = require('async'); var AWS = require('aws-sdk'); var gm = require('gm'); var util = require('util'); // get reference to S3 client var s3 = new AWS.S3(); exports.handler = function(event, […]

Aws lambda描述实例超时

我有这个简单的describe实例函数,我试图通过AWS Lambda在nodejs中运行: var AWS = require('aws-sdk'); AWS.config.region = 'us-east-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); context.done(null, 'Function Finished from error!'); // an error occurred }else { console.log("\n\n" + data + "\n\n"); context.done(null, 'Function Finished with data!'); // successful […]

基于Cognito ID的S3文件夹访问的IAM策略

我创build了IAM策略,允许Cognito用户写入我的S3存储桶,但是我想根据他们的Cognito ID将它们限制到文件夹。 我在这里遵循了亚马逊的指示,并创build了如下所示的策略: { "Effect": "Allow", "Action": ["s3:PutObject","s3:GetObject"], "Resource": [ "arn:aws:s3:::mybucket/myappfolder/${cognito-identity.amazonaws.com:sub}*" ] } 但是当我尝试使用AWS iOS SDK的v2进行上传时,我得到一个访问被拒绝的错误。 如果我修改了资源的最后一个path组件,用我从SDK的AWSCognitoCredentialsProvider获得的显式identityId值来replace${cognito-identity.amazonaws.com:sub} 。 { "Effect": "Allow", "Action": ["s3:PutObject","s3:GetObject"], "Resource": [ "arn:aws:s3:::mybucket/myappfolder/us-east-1:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx*" ] } 我的理解是,这些应该等同于相同的东西。 我是否在我的政策中遗漏了某些内容,或者是否应该在我的上传请求中使用不同的path? ** 更新 ** 我原本在iOS中有这个问题,所以今天晚上我尝试在node.js中做同样的事情,结果是相同的。 以下是我在节点中使用的简单代码: var s3 = new AWS.S3(); AWS.config.region = 'us-east-1'; AWS.config.credentials = new AWS.CognitoIdentityCredentials(AWSParams); AWS.config.credentials.get(function (err) { if (!err) { console.log("Cognito Identity […]