小编Coz*_*man的帖子

如何执行 lambda 函数,通过 Step 函数将对象从一个 S3 存储桶复制到另一个 S3 存储桶?

我能够使用 lambda 函数执行将数据从源存储桶复制到目标存储桶的任务,但是,在 Step 函数中执行 lambda 函数时出现错误。以下是我从头开始遵循的步骤。

  1. 选择的区域是 ap-south-1
  2. 创建了 2 个桶。源存储桶:start.bucket & 目标存储桶:final.bucket
  3. 使用以下信息创建 Lambda 函数:
    • 作者从零开始
    • 函数名称:复制复制
    • 运行时:Python 3.8
    • 已创建 lambda IAM 角色:LambdaCopy 并提供必要的策略(S3 完全访问权限和 Step 函数完全访问权限)并将其附加到该函数。
    • 添加触发器并选择:
      • S3
      • 桶:start.bucket
      • 事件类型:所有对象创建事件
    • 我在GeeksforGeeks中找到了一段python代码,并应用到了代码部分。
import json
import boto3
s3_client=boto3.client('s3')

# lambda function to copy file from 1 s3 to another s3
def lambda_handler(event, context):
    #specify source bucket
    source_bucket_name=event['Records'][0]['s3']['bucket']['name']
    #get object that has been uploaded
    file_name=event['Records'][0]['s3']['object']['key']
    #specify destination bucket
    destination_bucket_name='final.bucket'
    #specify from where file needs to be copied
    copy_object={'Bucket':source_bucket_name,'Key':file_name}
    #write copy …
Run Code Online (Sandbox Code Playgroud)

aws-lambda aws-step-functions

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

标签 统计

aws-lambda ×1

aws-step-functions ×1