小编ARU*_* NV的帖子

AWS Lambda可以连接到RDS mySQL数据库并更新数据库吗?

我正在尝试将AWS Lambda函数连接到RDS mysql数据库.
我只是想从我的lambda函数更新数据库.是否可以通过指定IAM角色和访问策略来访问RDS?
我可以使用mysql client连接到mysql数据库.但是当我尝试使用lambda时,我无法做到这一点.这是我的代码.

console.log('Loading function');
var doc = require('dynamodb-doc');
var dynamo = new doc.DynamoDB();
var mysql = require('mysql');
exports.handler = function(event, context) {
    //console.log('Received event:', JSON.stringify(event, null, 2));  
    var operation = event.operation;
    delete event.operation;
    switch (operation) {
        case 'create':
            var conn = mysql.createConnection({
                host: 'lamdatest.********.rds.amazonaws.com', // RDS endpoint 
                user: 'user', // MySQL username 
                password: 'password', // MySQL password 
                database: 'rdslamda'
            });
            conn.connect();
            console.log("connecting...");
            conn.query('INSERT INTO login (name,password) VALUES("use6","password6")', function(err, info) {
                console.log("insert: " + info.msg + " …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-rds amazon-iam aws-lambda

43
推荐指数
2
解决办法
5万
查看次数

将aws lambda响应作为HTML页面获取

我怎样才能将aws lambda响应作为HTML页面获取.请提供逐步解决此问题的程序.

html response amazon-web-services aws-lambda

18
推荐指数
2
解决办法
9372
查看次数

使用AWS Lambda响应正文在AWS API Gateway中映射多个http响应标头

我可以通过api网关集成响应头映射设置单个http响应头. 在那种情况下,我从aws lambda给出响应并使用正则表达式(".http.")来识别响应,最后将它映射到我的标题. 当我尝试一次映射一个标题时,这是有效的.但我想在一个响应中设置Location和Cookie标头.实现这一点,我从我的aws lambda返回了一个json
context.fail("http://www.google.com")
Location: integration.response.body.errorMessage

context.fail(JSON.stringify({Location:"http://www.google.com",Cookie: vid="233kwer34343"})) 
Run Code Online (Sandbox Code Playgroud)

但我无法通过integration.response.body.errorMessage.Location和映射标题integration.response.body.errorMessage.Cookie

可以通过使用context.succeed()而不是来实现context.fail().但这不是检查正则表达式.我想检查正则表达式对响应进行分类.

从lambda响应体映射多个响应头的最佳方法是什么?

amazon-web-services http-headers aws-lambda aws-api-gateway

8
推荐指数
1
解决办法
959
查看次数

如何在命令行中将参数数组传递给cURL?

当我从PHP脚本发送cURL请求时,我得到了所需的响应. 我的要求是这样的.

$data = array ("[product[name]]" => "nw",
               "[product[handle]]" => 150,
               "[product[interval_unit]]" => "day",
               "[product[interval]]" => 1,
               "[product[price_in_cents]]" => 0,
               "[product[initial_charge_in_cents]]" => 14200,
               "[product[return_url]]" =>"http://mytrial.com/office/selfie/themes/adcampaign/56cee935-185c-4dfs-asdfa-2b6b0ae84a4d",
               "[product[return_params]]" => "id={subscription_id}&customer_id={customer_id})");
$url="http://mytrial.com/office/selfie/themes/adcampaign/346423/products.json";
$ch  = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, 'sdfkjas2kjsd:x');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$res  = curl_exec($ch);
curl_close($ch);       
Run Code Online (Sandbox Code Playgroud)

它运作正常.我想在命令行中执行相同的请求.首先我json编码了数组,我尝试了这个命令

 curl -u sdfkjas2kjsd:x -H Accept:application/json -H Content-Type:application/json -x POST --data product[name]=nw&product[handle]=142&product[interval_unit]=day&product[interval]=1&product[price_in_cents]=0&product[initial_charge_in_cents]=14400&product[return_url]=http:\/\/54.145.218.63\/dev_lpad\/launchpad\/advertisers\/adcampaign\/56cee935-185c-4349-a8a1-2b6b0ae84a4d&product[return_params]={id={subscription_id}&customer_id={customer_id}}  http://mytrial.com/office/selfie/themes/adcampaign/346423/products.json  
Run Code Online (Sandbox Code Playgroud)

然后我得到了错误.

错误:无法解析请求正文

有什么方法可以解决这个问题吗?

更新:此处提供的URL是虚拟值,实际上我正在尝试连接Chargify API(重复计费解决方案).

php terminal command-line curl chargify

5
推荐指数
2
解决办法
6351
查看次数

如何从部署在 AWS Elastic beanstalk 上的 node.js express 应用程序获取客户端 ip?

我正在将弹性 beantalkngnix代理服务器一起使用。我的应用程序代码在 node.js express框架上。我正在尝试通过以下代码访问客户端 IP

var ip = event.headers['x-forwarded-for'] || 
     event.connection.remoteAddress || 
     event.socket.remoteAddress ||
     event.connection.socket.remoteAddress;
Run Code Online (Sandbox Code Playgroud)

但我总是为所有传入的请求获得相同的客户端 IP。我认为这将是代理服务器的 IP 地址。

如何从我的应用程序访问真实的客户端地址???

http-proxy amazon-web-services node.js amazon-elastic-beanstalk

5
推荐指数
1
解决办法
1548
查看次数

AWS Lambda错误:当url参数包含JSON数组时,"无法将请求主体解析为json"

我试图通过传递如下参数来调用我的Lambda函数.它包含撇号(').

https://invoke_url?param=[["kurlo jack's book","Adventure Books",8.8,1]]
Run Code Online (Sandbox Code Playgroud)

字符串化为 ' https:// invoke_url?param =%5B%5B%229780786706211%22s ....`

我使用下面的映射将参数传递给lambda

  "query": {
    #foreach($queryParam in $input.params().querystring.keySet())
    "$queryParam": "$util.escapeJavaScript($input.params().querystring.get($queryParam))" #if($foreach.hasNext),#end

    #end
  }  
Run Code Online (Sandbox Code Playgroud)

我收到了以下错误

{"message": "Could not parse request body into json: Unrecognized character escape \'\'\' (code 39)\n at [Source: [B@5b70c341; line: 29, column: 65]"}  
Run Code Online (Sandbox Code Playgroud)

从映射模板中删除双引号后我也尝试过.但是没有用.

json amazon-web-services aws-lambda aws-api-gateway

3
推荐指数
2
解决办法
7227
查看次数