我将 python pandas 上传到 Lambda,当我运行 Lambda 时,我看到以下错误:
"errorMessage": "Unable to import module 'lambda_function': C extension: No module named 'pandas._libs.interval' not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --inplace --force' to build the C extensions first."
Run Code Online (Sandbox Code Playgroud)
我真的不确定这里应该发生什么。但是对于更多上下文,我创建了一个名为“python”的目录,然后在我的终端上运行以下行
python3.8 -m pip install pandas -t .
Run Code Online (Sandbox Code Playgroud)
然后我压缩“python”目录,然后创建一个新层并上传 zip 文件。
努力想知道我在哪里关注。
我目前在 Google Sheet 上使用 Google Apps Script,它将单个行数据发送到 AWS API Gateway 以生成屏幕截图。目前,多个单个 JSON 负载请求导致一些 Lambda 函数失败。所以我想对行数据进行批处理,然后作为单个有效负载发送,这样单个 AWS Lambda 函数就可以执行并完成多个屏幕截图。
在迭代下面代码中每一行的数据后,如何对 JSON 有效负载进行批处理?
function S3payload () {
var PAYLOAD_SENT = "S3 SCREENSHOT DATA SENT";
var sheet = SpreadsheetApp.getActiveSheet(); // Use data from the active sheet
// Add temporary column header for Payload Status new column entries
sheet.getRange('E1').activate();
sheet.getCurrentCell().setValue('payload status');
var startRow = 2; // First row of data to process
var numRows = sheet.getLastRow() - 1; // Number of rows to process …Run Code Online (Sandbox Code Playgroud) 需要什么 IAM 角色策略AWS Chalice。
Github 上没有官方文档吗?
运行需要什么权限AWS Chalice?
我的架构是 AWS Gateway - Lambda - RDS 我从客户那里获取数据作为 xlsx 文件。
我有2个步骤
1.处理文件并存储到事务表中。
2.用户批准后处理数据到活动表。
我的问题是针对大文件,由于时间限制(AWS 网关 30 秒,Lambda 15 分钟)和同步过程,我无法完成这些过程。请建议我 AWS 中的任何服务都可以执行需要与 RDS 持续交互的长时间运行的作业,将文件数据与系统数据进行比较。
当一个 lambda 的并发执行次数增加时,是否意味着 Lambda 服务在幕后为每个并发执行启动一个新容器,然后也会遇到冷启动问题?
我有一个 lambda,我希望能够创建 dynamo db 表(不仅可以访问,还可以创建具有动态名称的表)。
const lambdaA = new lambda.Function(this, 'lambda-a', {
functionName: 'lambda-a',
memorySize: 256,
runtime: lambda.Runtime.NODEJS_12_X,
handler: 'index.handler',
code: lambda.Code.fromAsset(path.join(require.resolve('/lambda-a'), '..')),
});
Run Code Online (Sandbox Code Playgroud)
如何使用 AWS CDK 执行此操作?
我想我需要以某种方式将策略AmazonDynamoDBFullAccess(或其他一些允许创建表的策略)添加到 lambda 的执行角色。
我的意图是将新的容器版本部署到我的 AWS lambda。Lambda 现在提供 docker 运行时,我已经从 Web 控制台成功更新了 lambda docker 容器,但无法从 cli 更新。有更新功能
https://docs.aws.amazon.com/cli/latest/reference/lambda/update-function-configuration.html
但它没有显示我如何更新容器映像版本。是否可以通过 aws cli 更新容器版本?
我正在使用 AWS 并使用无服务器框架。我的无服务器 lambda 函数被事件触发。然后我与数据库交谈,我可以用数据库打开的连接数量有限制。
所以我只想一次运行 5 个 lambda 函数并将其他事件排入队列。我知道有:
provisionedConcurrency: 3 # optional, Count of provisioned lambda instances
reservedConcurrency: 5 # optional, reserved concurrency limit for this function. By default, AWS uses account concurrency limit
Run Code Online (Sandbox Code Playgroud)
因此,在这种情况下,指定数量的长时间运行的作业将在那里,它们将为事件提供服务。
但我想要的不是事件排队,而是触发函数,以便一次最多运行 5 个函数。
我想知道 AWS 是否支持这种事件排队的概念?
aws-lambda serverless-framework serverless-architecture serverless aws-serverless
我对 AWS Lambda 很陌生。当我的表被修改时,我的 Lambda func 和 DynamoDB 表之间有一个触发器设置。Lambda 函数成功将事件打印到云监视日志。我有麻烦搞清楚如何检查事件是INSERT或MODIFY在dynamoDB。我想检查一个if声明。当我刚print(event)得到
{
"Records": [
{
"eventID": "26e6ac4f1c16fc40fd91536430c1ac72",
"eventName": "MODIFY",
"eventVersion": "1.1",
"eventSource": "aws:dynamodb",
"awsRegion": "us-east-1",
"dynamodb": {
"ApproximateCreationDateTime": 1612293148,
"Keys": {
"id": {
"S": "d66ec59b-b807-4db9-96ed-3ebd3638779a450b7a75-6dce-4be9-babf-1077adb84b02"
}
},
"NewImage": {
"__typename": {
"S": "Conversation"
},
"members": {
"L": [
{
"S": "450b7a75-6dce-4be9-babf-1077adb84b02"
},
{
"S": "d66ec59b-b807-4db9-96ed-3ebd3638779a"
}
]
},
"isRead": {
"BOOL": false
},
"recipient": {
"S": "d66ec59b-b807-4db9-96ed-3ebd3638779a"
},
"latestMessage": {
"S": "Hey man" …Run Code Online (Sandbox Code Playgroud) 我正在尝试将源图像的大小调整为多个维度 + 扩展名。
例如:当我上传源图像时,比如说 abc.jpg,我需要使用 s3 事件触发器将其大小调整为 .jpg 和 .webp 的大小,例如abc_320.jpg、abc_320.webp、abc_640.jpg、abc_640.webp。因此,使用我当前的 python lambda 处理程序,我可以通过多次put_object调用目标存储桶来完成它,但我想让它更加优化,因为将来我的维度+扩展可能会增加。那么如何通过一次调用将所有调整大小的图像存储到目标存储桶?
当前的 Lambda 处理程序:
import json
import boto3
import os
from os import path
from io import BytesIO
from PIL import Image
# boto3 S3 initialization
s3_client = boto3.client("s3")
def lambda_handler(event, context):
destination_bucket_name = 'destination-bucket'
# event contains all information about uploaded object
print("Event :", event)
# Bucket Name where file was uploaded
source_bucket_name = event['Records'][0]['s3']['bucket']['name']
# Filename of object …Run Code Online (Sandbox Code Playgroud) python amazon-web-services python-imaging-library boto3 aws-lambda
aws-lambda ×10
python ×4
amazon-iam ×1
amazon-rds ×1
aws-cdk ×1
boto3 ×1
chalice ×1
docker ×1
javascript ×1
json ×1
pip ×1
serverless ×1