【问题标题】:AWS CLI create-function for Lambda with S3 suffixes returns Unknown options具有 S3 后缀的 Lambda 的 AWS CLI 创建函数返回未知选项
【发布时间】:2023-01-20 04:21:45
【问题描述】:

我有以下用于通过 AWS CLI 创建我的 Lambda 函数的批处理脚本:

rem -----------------------------------------
rem create or update the lambda function
aws lambda create-function ^
    --function-name %LAMBDA_FUNCTION_NAME% ^
    --runtime python3.9 ^
    --role %LAMBDA_ROLE_ARN% ^
    --handler %LAMBDA_HANDLER% ^
    --zip-file fileb://%LAMBDA_ZIP_FILE% ^
    --profile %AWS_PROFILE% ^
    --region %REGION% ^
    --timeout 180 ^
    --memory-size 1024 ^
    --layers %LAMBDA_ARN_LAYER% ^
    --environment Variables={PYTHONPATH=python/lib}

@echo on
@echo Deployed the AWS Lambda function %LAMBDA_FUNCTION_NAME% in region %REGION%
@echo off

rem -----------------------------------------
rem add S3 trigger
aws lambda create-event-source-mapping ^
    --function-name %LAMBDA_FUNCTION_NAME% ^
    --event-source-arn arn:aws:s3:::%S3_BUCKET_NAME% ^
    --batch-size 1 ^
    --starting-position "LATEST" ^
    --profile %AWS_PROFILE% ^
    --region %REGION% ^
    --event-source-request-parameters Events=s3:ObjectCreated:* Filter='{"Key": {"Suffix": [".MF4",".MFC",".MFE",".MFM"]}}'

但是,创建函数的最后一部分出现错误:

Unknown options: --event-source-request-parameters, Filter='{Key:, {Suffix:, [.MF4,.MFC,.MFE,.MFM]}}', Events=s3:ObjectCreated:*

我的语法在哪些方面有误?每当上传具有所列文件扩展名之一的文件时,我都想将我的 S3 存储桶用作触发器。

【问题讨论】:

  • --event-source-request-parameters 在 documentat 中没有提到。可能你想要 --filter-criteria

标签: amazon-s3 aws-lambda aws-cli


【解决方案1】:

S3 事件通知不需要事件源映射。您应该使用以下 CLI 命令来使用您的 S3 存储桶作为触发器:

aws s3api put-bucket-notification-configuration --bucket S3_BUCKET_NAME ...

【讨论】:

    猜你喜欢
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    • 2017-10-06
    • 1970-01-01
    • 2016-08-26
    • 2021-03-02
    相关资源
    最近更新 更多