小编use*_*195的帖子

从电子邮件中提取并保存附件(通过SES)到AWS S3

我想从电子邮件中提取附件并将​​其保存到我的新S3存储桶中.到目前为止,我已配置AWS Simple Email Service来拦截传入的电子邮件.现在我有一个AWS lambda python函数,它在S3 Put上被触发.

在此之前它正在发挥作用.但我的lambda提出错误说:"[Errno 2]没有这样的文件或目录:'abc.docx':OSError".我看到在S3中的原始电子邮件中提到了名为abc.docx的附件.

我假设问题出在我的upload_file中.你能帮帮我吗?

请在下面找到我的代码的相关部分.

s3 = boto3.client('s3')
s3resource = boto3.resource('s3')


waiterFlg = s3.get_waiter('object_exists')
waiterFlg.wait(Bucket=bucket, Key=key)

response = s3resource.Bucket(bucket).Object(key)

message = email.message_from_string(response.get()["Body"].read())

    if len(message.get_payload()) == 2:

        attachment = msg.get_payload()[1]
        s3resource.meta.client.upload_file(attachment.get_filename(), outputBucket, attachment.get_filename())

    else:
        print("Could not see file/attachment.")
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services boto3 aws-lambda

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

是否可以从AWS lambda直接调用docker run

我有一个Java独立的应用程序,我已经dockerized.每次将对象放入S3存储时,我想运行此docker.在途中是通过AWS批处理,我试图避免.

有没有直接和简单的方法来调用从lambda运行的docker?

amazon-web-services amazon-ecs docker aws-lambda

3
推荐指数
1
解决办法
3078
查看次数

如何在 DynamoDB 中管理一对多映射

我需要在 AWS DynamoDB 中维护一对多关系数据。例如,一名员工可以拥有多种技能映射到他身上。在典型的 RDBMS 中,我将创建一个SKILL_MASTER表,其中SkillIdSkillName作为列和EMPLOYEE表。然后,我会在地图SkillId雇员EMPLOYEE表。DynamoDB 中的正确方法是什么?

注意:我对 NoSQL 完全陌生,因此是这个基本问题。

nosql amazon-dynamodb

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