Tag: services

AWS分页listObjects node.js

您好,我目前希望列表中的图像使用分页的商店。 我需要每次显示指定数量的图像,并允许循环停止在我指定的页码上。 (例如,每页30个图像,我需要第3页,我将需要列出图像的第3页)。 到目前为止,它遍历所有的文件,我只需要根据pageCount列出objectsPerPage (GET / list / {storeid}?page = {pageNumber}&per_page = {perPage} var shopId = event.shopkeeper + "/"; var objectsPerPage = event.perPage; var pageCount = event.pageNumber; var params = { Bucket: AWS_Bucket, Delimiter: '/', Prefix: shopId, MaxKeys: objectsPerPage }; var dataContents = []; function s3ListObjects() { s3.listObjects(params, function(err, data) { if (err) { console.log("listS3Objects […]

在Elastic Beanstalk单实例上configurationSSL

我正在尝试为我的NodeJS Beanstalk实例安装SSL证书。 按照Amazon的这些说明 ,我创build了YAML文件并插入了我的信息。 每次我尝试部署我得到这个错误: 应用程序版本0.0.3中的configuration文件.ebextensions / singlessl.config包含无效的YAML或JSON。 YAMLexception:扫描下一个标记时发现字符'\ t',无法在“”第10行第1列中启动任何标记:^,JSONexception:位置0处意外字符(R)。更新configuration文件。 我已经用一个精细的梳齿去掉了东西,经过了多个validation器的validation,甚至在多个操作系统上创build了它,但我似乎无法动摇这个假定的制表符。 有没有人有像JSON这样的configuration文件的例子? 我的其他configuration是在JSON和伟大的工作。 如果没有,任何人都可以看到我在这里做错了吗? Resources: sslSecurityGroupIngress: Type: AWS::EC2::SecurityGroupIngress Properties: GroupId: {Ref : MyIDHere} IpProtocol: tcp ToPort: 443 FromPort: 443 CidrIp: 0.0.0.0/0 files: /etc/nginx/conf.d/ssl.conf: mode: "000755" owner: root group: root content: | # HTTPS server server { listen 443; server_name localhost; ssl on; ssl_certificate /etc/pki/tls/certs/server.crt; ssl_certificate_key […]

使用Cloudformation来部署Lamba,包括函数将有权访问的参数

我们有一个API用于使用Cloud Formation在AWS中提供某些资源。 这包括一个将事件发送到S3的Lambda函数,并且可以configuration该存储桶。 事情是,当我们提供lambda时,我们会知道bucket名称,而不是lambda代码本身。 据我所知,在configuration时无法在Cloud Formation模板本身中注入S3存储桶名称。 真的吗? 我可以看到的唯一解决scheme是即时生成function代码,并将其embedded到Cloud Formation模板中。 这将使我们无法使用任何NPM依赖关系以及function代码。 有更好的select吗?

Amazon AWS错误:缺lessconfig node.js中的凭据

我刚刚开始使用AWS,我试图在这里使用他们的示例代码。 我正在使用dotenv来存储我的密钥作为环境variables。 使用咖啡脚本我的代码如下所示: require('dotenv').config() express = require 'express' router = express.Router() AWS = require('aws-sdk') AWS.config.region = 'us-west-2' s3bucket = new (AWS.S3)(params: Bucket: 'new-bucket-name') s3bucket.createBucket -> params = Key: process.env.AWS_ACCESS_KEY_ID Body: 'Hello!' s3bucket.upload params, (err, data) -> if err console.log 'Error uploading data: ', err else console.log 'Successfully uploaded data to myBucket/myKey' return return 但我不断收到以下错误: message: […]

简单的WebApp – 通过HTML / AWS Javascript SDK将file upload到S3

我只是开始我的开发过程,需要一些build议,如何处理我正在工作的一个简单的应用程序。 我对现代Web开发没有很好的理解。 我期望实现的是通过浏览器表单/ html表单将video或图像上传到Amazon S3。 理想情况下,我想利用AWS node.js SDK,但保持我的前端尽可能基本(即引导页面+ html更改)我承认我可以做一个直接的http操作,但仍然想利用现在的SDK。 我有我的HTML,窗体和CSS创build(使用引导),但不明白如何将表单连接到一个node.js脚本授权/ PUT? 我甚至可以从表单中去,并将文件传递给脚本上传? 感谢您的任何意见! :d

AWS Lambda – 奇怪的堆栈跟踪

我们正在用node.js 4.3编写AWS lambda函数,但是我们遇到了抛出错误的奇怪behaviour 。 第一: 'use strict'; exports.handler = function(event, context, callback) { throw new Error(); }; 这是像预期的抛出: at exports.handler (/var/task/TestCode.js:4:11) 但是,如果我们添加一个函数(即使是未调用的),它调用一个不同的类/ obj的函数,其中包含一个带有obj的lambdaexpression式,我们得到一个神秘的投掷信息。 为了让事情更容易理解,下面是一些代码: 'use strict'; function aRandomFunction() { something.foo((obj) => {}); } exports.handler = function(event, context, callback) { throw new Error(); }; 现在我们得到一个日志,我们不明白为什么: at something.foo.exports.handler (/var/task/TestCode.js:8:11) 有人可以解释我为什么会发生? 这似乎是一些JS魔法,我不明白:) 谢谢

AWS Lambda导出类不工作

我正在使用NodeJs 6.10.2。 我正在使用2个文件 index.js var operation = require('./Handler/opHandler').opHandler; var lambdaHandler = function () { var o = new operation(); o.deleteMessage(); } exports.lambdaHandler = function(event, context, callback) { handleSQSMessages(context, callback); }; opHandler.js opHandler = function() { this.db = ''; } opHandler.prototype.deleteMessage = function (receiptHandle, callback) { // My code here // this.db = 'new val'; } […]

找出哪个AWS Beanstalk环境我的Node.js应用程序当前正在运行的最佳实践是什么?

我的Node.js Express应用程序在AWS Beanstalk中运行。 我为我的应用程序创build了三个Beanstalk环境,分别是: DEV(开发) UAT(用户验收testing) 产品(生产) 依赖于我的应用程序正在运行的环境我想连接到不同的数据库,并使用不同的级联样式表。 找出哪个AWS Beanstalk环境我的Node.js应用程序当前正在运行的最佳实践是什么? 我得到的印象我应该使用Beanstalk环境标签,但我一直无法弄清楚如何通过我的Node.js应用程序访问它们。

使用NodeJS和S3FS /多方将file upload到Amazon S3

我使用多方和S3FS上传文件到amazon s3,当写入一个文件streams3它创build临时文件path与桶path,例如: var S3FS = require('s3fs'); var s3fsImpl = new S3FS('my-bucket/files',{ accessKeyId: config.amazonS3.accessKeyId, secretAccessKey: config.amazonS3.secretAccessKey }); module.exports = function (app) { app.post('/upload', function (req, resp) { // get the file location var file = req.files.file; var stream = fs.createReadStream(file.path); return s3fsImpl.writeFile(fileName,stream).then(function(){ fs.unlink(file.path,function(err){ if(err) console.error(err); }); resp.send('done'); }).catch(function (err) { return resp.status(500).send({ message: errorHandler.getErrorMessage(err) }); }); […]

aws lambdaerror handling

我试图从外部node.js应用程序(即不在AWS上)调用lambda函数。 我使用AWS文档中的代码示例,对名义情况非常有用。 但是,在发生错误的情况下,我的调用函数永远无法正确处理它。 我的调用代码如下: //AWS.config before var pullParams = { FunctionName : 'myFunctionName', InvocationType : 'RequestResponse', LogType : 'None', Payload : JSON.stringify({ "myParam" : params }) } var lambda = new AWS.Lambda(); lambda.invoke(pullParams, function(invocationError, data) { console.log("error value: " + invocationError) if (invocationError) { console.log("Error invoking AWS " + invocationError); //process error } else { […]