Tag: amazon web services

AWS node.js在失败的batchWrite()上自动重试

根据这个aws doc http://docs.aws.amazon.com/general/latest/gr/api-retries.html自动重试function是build立在aws sdk在我的情况node.js aws sdk。 我像这样configuration了DocumentClient对象: var dynamodb = new AWS.DynamoDB.DocumentClient({region: 'us-west-2', retryDelayOptions: {base: 50}, maxRetries: 20}); 但我仍然不能让它自动重试我。 我想要自动重试所有的UnprocessedItems。 你能指出我的错误在哪里吗? 谢谢

将较大的CSV文件加载到DynamoDb中的最佳/最佳方法

我的本地机器上有一个巨大的.csv文件。 我想要在DynamoDB(欧洲西部-1,爱尔兰)中加载这些数据。 你会怎么做? 我的第一个方法是: 在本地迭代CSV文件 通过curl -X POST -d '<row>' …/connector/mydata向AWS发送一行 在lambda中处理以前的调用,并在DynamoDB中写入 我不喜欢这个解决scheme,因为: 有太多的要求 如果我发送没有CSV头信息的数据,我必须对lambda进行硬编码 如果我使用CSV标头发送数据,则stream量太大 我也在考虑把这个文件放到一个S3存储桶中,然后用一个lambda ,但是这个文件很大,lambda的内存和时间限制让我感到恐慌。 我也在考虑在EC2机器上做这个工作,但是我失去了反应(如果我在不使用的时候关掉机器)或者我赔钱(如果我不关机的话)。 我被告知Kinesis可能是一个解决scheme,但我不相信。 请告诉我,如果你是我,那么获得DynamoDB中huge CSV文件的最佳方法是什么。 我想尽量减less“秒”上传的工作量。 我更喜欢使用Node.js或R. Python作为最后的解决scheme可能是可以接受的。

如何在Node中将图片上传到s3

从我的反应前端将文件发布到节点后端。 request .post('/api/upload') .field('fileName', res.body.text) .field('filePath', `/${this.s3DirName}`) // set dynamically .attach('file', data.file) .end((err2, res2) => { if (err2){ console.log('err2', err2); this.setState({ error: true, sending: false, success: true }); }else{ console.log('res2', res2); this.setState({ error: false, sending: false, success: true }); } }); 然后在我的节点后端我想上传到S3。 我使用的是busboy能够获取发布的多部分文件,然后aws sdk发送到我的s3桶。 var AWS = require('aws-sdk'); const s3 = new AWS.S3({ apiVersion: '2006-03-01', […]

AWS Lambda,API网关返回格式错误的Lambda代理响应502错误

经过大量的谷歌search和几个小时的试错,我找不到为什么我得到这个错误消息: 由于configuration错误,执行失败:Lambda代理响应格式错误 当我使用testinglambdafunction运行lambda时,它工作正常。 对这个状态的类似问题的答案,来自lambda的响应需要符合这种格式: { "isBase64Encoded": true|false, "statusCode": httpStatusCode, "headers": { "headerName": "headerValue", … }, "body": "…" } 下面是我使用的lambda(遵守这种格式): 'use strict'; var aws = require('aws-sdk'); var ses = new aws.SES(); var RECEIVER = "XXXX@XXXX.com"; var SENDER = "XXXX@XXXX.com"; const response_success = { 'isBase64Encoded': false, 'statusCode': 200, 'headers': { 'Content-Type': 'application/json', }, body: JSON.stringify({ message: 'ok' […]

是否可以在AWS Lambda中部署外部库?

我的Node.js应用程序依赖于外部库执行。 是否可以在AWS Lambda中部署Node.js应用程序和外部库? 如果可能的话,请build议使用哪种机制来部署外部库。

如何在AWS js SDK中configuration区域?

我的问题 我在写一个简单的js函数,它从AWS CloudWatch Logs中读取一些信息。 在Node.js AWS SDK中configuration区域以及AWS nodejs SDK文档的答案之后,我想出了以下内容: 码 var AWS = require('aws-sdk'); var cloudwatchlogs = new AWS.CloudWatchLogs(); console.log(AWS.config.region) // Undefined AWS.config.region = 'eu-central-1' // Define the region with dot notation console.log(AWS.config.region) . // eu-central-1 AWS.config.update({region:'eu-central-1'}); // Another way to update console.log(AWS.config.region) . // eu-central-1 var params = { limit: 0, // logGroupNamePrefix: 'STRING_VALUE', […]

AWS Lambda返回PDF文件

我创build了一个使用无服务器的lambda函数。 这个函数是通过GET请求的API网关触发的,并且应该从缓冲区中返回一个pdf文件。 我正在使用html-pdf创build缓冲区,并尝试使用以下命令返回PDF文件 let response = { statusCode: 200, headers: {'Content-type' : 'application/pdf'}, body: buffer.toString('base64'), isBase64Encoded : true, }; return callback(null, response); 但浏览器只是无法加载PDF,所以我不知道如何将PDF文件直接返回到浏览器。 无法find解决scheme。

EC2实例“花了很长时间回应”

我有一个基于NodeJS的网站,目前我正尝试在AWS上的免费层上进行部署。 到目前为止,我已经创build了一个实例,启动它,我可以通过SSH(控制台)连接到我的实例,并成功地从我的Git仓库拉我的文件。 但是,当我试图浏览我的公共DNS,我得到: ec2-54-252-151-208.ap-southeast-2.compute.amazonaws.com : 8080花了太长的时间来回应。 我也看了一下安全组的设置(根据不同的post推荐),并确保允许入站和出站“HTTP”和“HTTPS”stream量(截图如下): 入站设置: 出站设置: 任何想法还有什么可能导致这个问题呢? 我将不胜感激您的帮助。 谢谢。

node-awssum在哪里?

我正在使用名为node-awssum的Node.js库,这个库已经有相当长的一段时间了。 但现在看来,图书馆已经从Github上被取消了。 有谁知道发生了什么事,在哪里我可以find替代库或叉? https://github.com/appsattic/node-awssum https://www.google.com/search?q=node+awssum

AWS上的Node JS“Hello world”服务器

我尝试在AWS t1.micro实例上运行“Hello world”服务器。 我做了什么: 我在aws上安装了Node 写了这样的东西: require("http").createServer(function(request, response){ response.writeHeader(200, {"Content-Type": "text/plain"}); response.write("Hello World!"); response.end(); }).listen(8080); – 在aws: node test_server.js上运行它 现在我尝试从我的本地机器发送请求到服务器像这样: curl http://NAME:8080其中NAME是来自aws控制台的公共DNS名称,但没有任何反应。 我忘记了什么? 或者我做错了什么 我试图寻找一种教程,但他们描述如何在本地机器上运行或build议安装Ngnx。 但我寻找最简单的例子