【问题标题】:How to invoke an existing AWS Lambda function from laravel?如何从 laravel 调用现有的 AWS Lambda 函数?
【发布时间】:2020-07-05 01:27:28
【问题描述】:

我正在尝试从 laravel 中的 php 代码调用现有的 aws-lambda 函数来获取数据并保存在我的数据库中。 我要调用的实际命令如下:

aws lambda invoke --function-name expo2020-metrics --region eu-west-3 response.json

这是我用来调用我的函数的代码:

use Aws\Lambda\LambdaClient;use Aws\Credentials\Credentials;

$credentials = new Credentials('YOUR_ACCESS_KEY', 'YOUR_SECRET_KEY');
    $client = LambdaClient::factory(array(
        'credentials' => $credentials,
        'region' => 'eu-west-3',
        'version' => 'latest'
    ));
    $result = $client->getFunction(array(
        'FunctionName' => 'expo2020-metrics',
    ));

但我收到以下回复:

{"Message":"User: arn:aws:iam::677537359471:user/customer/expo2020-metrics is not authorized to perform: lambda: GetFunction on resource: arn:aws:lambda:eu-west-3:677537359471:function:expo2020-metrics"}

我不确定我是否使用了正确的代码来调用该函数。我使用的是 AWS 提供的 PHP sdk。

【问题讨论】:

标签: php laravel amazon-web-services aws-lambda


【解决方案1】:

您正在调用getFunction,它只会为您提供有关 Lambda 函数的信息。这不等同于您尝试转换为 PHP 的 aws lambda invoke CLI 命令。

您应该致电 Lambda 客户端的 the invoke() function

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 2021-09-23
    • 2021-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-28
    相关资源
    最近更新 更多