我正在研究如何使用bref库在 php 中创建 AWS lambda
因此,根据文档,我使用以下命令鸡尾酒设置了环境:
sudo -H npm install -g serverless
composer require bref/bref
然后使用以下命令创建了我的第一个 php lambda:
vendor/bin/bref init
我选择了PHP Function
默认提供的第一个选项。创建以下创建index.php
文件:
declare(strict_types=1);
require __DIR__.'/vendor/autoload.php';
lambda(function ($event) {
return 'Hello ' . ($event['name'] ?? 'world');
});
然后我把我的serverless.yml
变成了:
service: app
provider:
name: aws
region: eu-central-1
runtime: provided
stage: ${opt:stage,'local'}
package:
exclude:
- '.gitignore'
plugins:
- ./vendor/bref/bref
functions:
dummy:
handler: index.php
name: Dummy-${self:provider.stage}
description: 'Dummy Lambda'
layers:
- ${bref:layer.php-73}
我尝试通过以下命令启动它:
sls invoke local --stage=local --docker --function dummy
但我收到以下错误:
{"errorType":"exitError","errorMessage":"RequestId: 6403ebee-13b6-179f-78cb-41cb2f517460 Error: Couldn't find valid bootstrap(s): [/var/task/bootstrap /opt/bootstrap]"}
因此,我想问为什么我无法在本地运行我的 lambda?