Aws lambda 如何将命令行参数传递给Serverless/Bref中的Lambda函数?

Aws lambda 如何将命令行参数传递给Serverless/Bref中的Lambda函数?,aws-lambda,serverless-framework,serverless,aws-serverless,bref,Aws Lambda,Serverless Framework,Serverless,Aws Serverless,Bref,我使用Bref(使用无服务器)在AWS Lambda上运行Symfony 4(PHP)应用程序 Bref为Symfony的bin/console二进制文件提供了一个层。Lambda函数的无服务器配置如下所示: functions: console: handler: bin/console name: 'mm-console' description: 'Symfony 4 console' timeout: 120 # i

我使用Bref(使用无服务器)在AWS Lambda上运行Symfony 4(PHP)应用程序

Bref为Symfony的bin/console二进制文件提供了一个层。Lambda函数的无服务器配置如下所示:

functions:
    console:
        handler: bin/console
        name: 'mm-console'
        description: 'Symfony 4 console'
        timeout: 120 # in seconds
        layers:
            - ${bref:layer.php-73} # PHP
            - ${bref:layer.console} # The "console" layer
使用上述方法,我可以在Lambda上运行
vendor/bin/bref cli mm console--mm:find matches
来运行
bin/console mm:find matches

如果我想在Lambda上运行
mm:find matches
console命令,该怎么办? 我试过这个:

functions:
    mm-find-matches:
        handler: "bin/console mm:find-matches"
        name: 'mm-find-matches'
        description: 'Find mentor matches'
        timeout: 120
        layers:
            - ${bref:layer.php-73} # PHP
            - ${bref:layer.console} # The "console" layer
        schedule:
            rate: rate(2 hours)
但是“
bin/console mm:find matches
”不是有效的处理程序。
如何将
mm:find matches
命令传递给计划中的
bin/console
函数?

您可以通过计划事件输入传递命令行参数,如下所示:

functions:
    console:
        handler: bin/console
        name: 'mm-console'
        description: 'Symfony 4 console'
        timeout: 120 # in seconds
        layers:
            - ${bref:layer.php-73} # PHP
            - ${bref:layer.console} # The "console" layer
        events:
            - schedule:
                input:
                    cli: "mm:find-matches --env=test"
                rate: rate(2 hours)
                enabled: true
尽管对于使用cli控制台应用程序是否是最好的解决方案存在一些讨论,但与编写PHP函数来引导内核并执行您希望命令执行的特定操作相比,这两种方法都有不同之处