小编Jed*_*edi的帖子

下载已上传的Lambda函数

我使用"上传.zip"在AWS(Python)中创建了一个lambda函数.我丢失了这些文件,我需要进行一些更改,是否有任何方法可以下载.zip?

amazon-web-services aws-lambda

113
推荐指数
3
解决办法
4万
查看次数

AWS Lambda错误:"找不到模块'/ var/task/index'"

Node.js Alexa任务问题

我目前正在通过AWS Lambda编写Node.js Alexa任务,我一直在尝试编写一个函数,该函数从OpenWeather API接收信息并将其解析为一个名为的变量weather.相关代码如下:

var request = require('request');
var weather = "";
function isBadWeather(location) {
      var endpoint = "http://api.openweathermap.org/data/2.5/weather?q=" + location + "&APPID=205283d9c9211b776d3580d5de5d6338";
      var body = "";
      request(endpoint, function (error, response, body) {
            if (!error && response.statusCode == 200) {
                  body = JSON.parse(body);
                  weather = body.weather[0].id;
            }
      });
}

function testWeather()
{
      setTimeout(function() {
      if (weather >= 200 && weather < 800)
            weather = true;
      else
            weather = false;
      console.log(weather);
      generateResponse(buildSpeechletResponse(weather, true), {});
      }, 500);
} …
Run Code Online (Sandbox Code Playgroud)

javascript request amazon-web-services node.js aws-lambda

86
推荐指数
4
解决办法
4万
查看次数

Nodejs - 从另一个lambda函数中调用AWS.Lambda函数

我有以下函数用于从我的代码中调用Lambda函数.

但是,当我尝试在Lambda函数中使用它时,我收到以下错误:

AWS lambda undefined 0.27s 3 retries] invoke({ FunctionName: 'my-function-name',
  InvocationType: 'RequestResponse',
  LogType: 'Tail',
  Payload: <Buffer > })
Run Code Online (Sandbox Code Playgroud)

如何在Lambda函数中调用Lambda函数?

我的功能:

'use strict';

var AWS = require("aws-sdk");

var lambda = new AWS.Lambda({
    apiVersion: '2015-03-31',
    endpoint: 'https://lambda.' + process.env.DYNAMODB_REGION + '.amazonaws.com',
    logger: console
});

var lambdaHandler = {};

// @var payload - type:string
// @var functionName - type:string
lambdaHandler.invokeFunction = function (payload, functionName, callback) {

    var params = {
        FunctionName: functionName, /* required */
        InvocationType: "RequestResponse",
        LogType: "Tail",
        Payload: new Buffer(payload, …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services node.js aws-sdk aws-lambda

52
推荐指数
4
解决办法
5万
查看次数

使用Lambda从S3读取数据

我在AWS上的S3存储桶中存储了一系列json文件.

我希望使用AWS lambda python服务来解析此json并将解析后的结果发送到AWS RDS MySQL数据库.

我有一个稳定的python脚本,用于解析和写入数据库.我需要lambda脚本来遍历json文件(当它们被添加时).

每个json文件都包含一个简单的列表 results = [content]

在伪代码中我想要的是:

  1. 连接到S3存储桶(jsondata)
  2. 阅读JSON文件的内容(results)
  3. 为此数据执行我的脚本(results)

我可以列出我所拥有的桶:

import boto3

s3 = boto3.resource('s3')

for bucket in s3.buckets.all():
    print(bucket.name)
Run Code Online (Sandbox Code Playgroud)

赠送:

jsondata
Run Code Online (Sandbox Code Playgroud)

但我无法访问此存储桶来读取其结果.

似乎没有readload功能.

我希望有类似的东西

for bucket in s3.buckets.all():
   print(bucket.contents)
Run Code Online (Sandbox Code Playgroud)

编辑

我误解了一些事情.lambda必须自己下载,而不是在S3中读取文件.

这里看来,你必须给lambda一个下载路径,从中可以访问文件本身

import libraries

s3_client = boto3.client('s3')

def function to be executed:
   blah blah

def handler(event, context):
    for record in event['Records']:
        bucket = record['s3']['bucket']['name']
        key = record['s3']['object']['key'] 
        download_path = '/tmp/{}{}'.format(uuid.uuid4(), key) …
Run Code Online (Sandbox Code Playgroud)

python json amazon-s3 amazon-web-services aws-lambda

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

使用VPC配置添加AWS Lambda会导致访问S3时出现超时

我正在尝试从AWS Lambda访问我的VPC上的S3和资源,但由于我将AWS Lambda配置为访问VPC,因此在访问S3时会超时.这是代码

from __future__ import print_function

import boto3
import logging
import json

print('Loading function')

s3 = boto3.resource('s3')

import urllib

def lambda_handler(event, context):
    logging.getLogger().setLevel(logging.INFO)
    # Get the object from the event and show its content type
    bucket = event['Records'][0]['s3']['bucket']['name']
    key = urllib.unquote_plus(event['Records'][0]['s3']['object']['key']).decode('utf8')
    print('Processing object {} from bucket {}. '.format(key, bucket))
    try:
        response = s3.Object(bucket, key)
        content = json.loads(response.get()['Body'].read())
        # with table.batch_writer() as batch:
        for c in content:
            print('     Processing Item : ID' + str(c['id']))
            # ##################
            # Do custom processing …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services amazon-vpc aws-lambda

31
推荐指数
1
解决办法
1万
查看次数

在VPC内从Lambda访问AWS S3

总的来说,我对在VPC中使用AWS Lambda感到非常困惑.问题是Lambda在尝试访问S3存储桶时超时.该解决方案似乎是一个VPC端点.

我已将Lambda函数添加到VPC,因此它可以访问RDS托管数据库(未在下面的代码中显示,但功能正常).但是,现在我无法访问S3,任何尝试这样做都会超时.

我尝试创建一个VPC S3端点,但没有任何改变.

VPC配置

每当我第一次制作EC2实例时,我都会使用默认创建的简单VPC.它有四个子网,都是默认创建的.

VPC路由表

_Destination - Target - Status - Propagated_

172.31.0.0/16 - local - Active - No

pl-63a5400a (com.amazonaws.us-east-1.s3) - vpce-b44c8bdd - Active - No

0.0.0.0/0 - igw-325e6a56 - Active - No
Run Code Online (Sandbox Code Playgroud)

简单的S3下载Lambda:

import boto3
import pymysql
from StringIO import StringIO

def lambda_handler(event, context):
    s3Obj = StringIO()

    return boto3.resource('s3').Bucket('marineharvester').download_fileobj('Holding - Midsummer/sample', s3Obj)
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services amazon-vpc aws-lambda

29
推荐指数
4
解决办法
1万
查看次数

AWS Lambda:创建事件源映射时出错:配置模糊定义

创建事件源映射时出错:配置模糊定义.如果前缀对于相同的事件类型重叠,则在两个规则中不能具有重叠的后缀.

我在6-7天前从GUI控制台创建了一个事件,它运行正常.第二天事件刚刚失踪,我无法再在Lambda控制台GUI上看到它.但每个S3对象仍然似乎触发lambda函数不是问题.如果我看不到,那就不好了; 所以我删除了Lambda函数,在创建另一个新函数之前等了5-10秒.现在,当我尝试创建这样的事件源时,我收到相同的内容: 在此输入图像描述

当我单击"提交"时,事件源选项卡显示"您没有此功能的任何事件源",Lambda不会被触发; 这意味着整个应用程序流程现在已经崩溃:(

问题几乎与:" https://forums.aws.amazon.com/thread.jspa?messageID=670712 "但不知何故我不能回复该线程,所以我在这里创建了一个新线程.谁有人遇到这个问题?

事实上,我尝试回应现有的AWS论坛帖子:https://forums.aws.amazon.com/thread.jspa? messageID = 670712 򣯸, 但我一直收到这个有趣的错误:"你的邮件配额已达到. 请稍后再试.".我甚至没有张贴任何东西,我怎么能用完我的配额?

amazon-web-services aws-lambda

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

AWS Lambda中可用的最大虚拟处理器核心数是多少?

我正在尝试查找AWS Lambda中可用的最大虚拟处理器核心数.官方文档暗示它随着配置的内存量而扩展:

在AWS Lambda资源模型中,您可以为功能选择所需的内存量,并分配比例CPU功率和其他资源.例如,选择256MB内存为Lambda函数分配的CPU功率大约是请求128MB内存的两倍,CPU功率是选择512MB内存的一半.

但是,Number of cores = 2即使我配置了可请求的最大内存量,运行以下代码段也会得到我:1536 MB.

package example;

import java.io.{ InputStream, OutputStream }

class Main {
  def main(input: InputStream, output: OutputStream): Unit = {   
    val result = "Number of cores = " + Runtime.getRuntime().availableProcessors()
    output.write(result.getBytes("UTF-8"))
  }
}
Run Code Online (Sandbox Code Playgroud)

那么这里发生了什么?我是否使用了availableProcessors()错误或错误解释了其结果?或者是否有其他配置需要获得更多内核?

amazon-web-services aws-lambda

25
推荐指数
4
解决办法
1万
查看次数

如何在本地运行aws lambda(java)进行测试

如何在本地运行aws lambda(java)进行测试.

我能够找到节点的一些信息,但不能找到java的信息.

amazon-web-services aws-lambda

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

aws-lambda无法找到模块

从zip文件上传代码时,我在aws-lambda控制台中不断收到此错误.我尝试上传其他zip文件,但它们正常工作..js文件在zip文件中名为"CreateThumbnail.js".我相信处理程序也正确命名为"CreateThumbnail.handler".node_modules子目录也已设置.任何人都有任何想法?

{
  "errorMessage": "Cannot find module 'CreateThumbnail'",
  "errorType": "Error",
  "stackTrace": [
  "Function.Module._resolveFilename (module.js:338:15)",
  "Function.Module._load (module.js:280:25)",
  "Module.require (module.js:364:17)",
  "require (module.js:380:17)"
  ]
}
Run Code Online (Sandbox Code Playgroud)

javascript amazon-web-services node.js aws-lambda

20
推荐指数
5
解决办法
3万
查看次数