【发布时间】:2022-12-05 20:13:57
【问题描述】:
我是aws的新手。我正在使用 AWS 学习者实验室。我想要做的是,当我运行第一个 lambda 函数时,我希望第二个函数也能运行。第二个函数将文件上传到 S3。但是我有点挣扎,不确定为什么我的功能不起作用。当我运行第一个函数时,文件没有上传到 S3。如果我测试第二个功能,它就会工作。
第一个函数是使用 js 第二个函数是使用 python。
第一个功能 索引.js
var aws = require('aws-sdk');
var lambda = new aws.Lambda({
region: 'us-east-1' //change to your region
});
exports.handler = async (event, context, callback) => {
lambda.invoke({
FunctionName: 'arn:aws:lambda:us-west-1:294593484020:function:UploadFileS3Bucket',
Payload: JSON.stringify(event, null, 2) // pass params
}, function(error, data) {
if (error) {
context.done('error', error);
}
if(data.Payload){
context.succeed(data.Payload)
}
})};
第二功能 lambda_函数.py
import json
import boto3
def lambda_handler(event, context):
# TODO implement
with open('/tmp/dummy.txt','w') as f:
f.write('dummy\n')
f.close()
s3 = boto3.client('s3')
s3.upload_file('/tmp/dummy.txt','htp-iot-bucket', 'dummy.txt')
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
【问题讨论】:
-
到底是什么不起作用?你从这两个函数得到什么日志输出?
标签: amazon-web-services amazon-s3 aws-lambda