在 AWS Lambda 为 PHP 构建 AWS CDK
这个 布莱夫 CDK构建允许您使用 AWS CDK 在 AWS Lambda 上部署无服务器的 PHP 应用程序 .
默认情况下, Bref 使用无服务器框架部署。使用 AWS CDK 是一个选择,但请注意这是一个高级话题。 如果你迷路了,跟着我 Bref 文档 换句话说.
安装
安装 软件包 与国家预防机制:
npm install @bref.sh/constructs
使用量
部署 HTTP 应用程序的简单示例 :
import { Construct } from 'constructs';
import { App, Stack } from 'aws-cdk-lib';
import { PhpFpmFunction } from '@bref.sh/constructs';
class MyStack extends Stack {
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
new PhpFpmFunction(this, 'Hello', {
handler: 'public/index.php',
});
}
}
const app = new App();
new MyStack(app, 'test', {
env: {
region: 'eu-west-1',
},
});
构造
职能
PhpFpmFunction
此构造将 PHP 函数与 HTTP 运行时间。 。 。 .
new PhpFpmFunction(this, 'MyFunction', {
handler: 'public/index.php',
});
它继承自 AWS CDK Function 构造 默认设置这些选项:
handler数字 :index.php默认runtime数字 :provided.al2023code:代码自动从当前目录中拉链.layers: Bref 层自动添加.memorySize数字 :1024timeout数字 :28(单位:秒)
该代码从当前目录中自动被拉链. 您可以通过设置 code 属性 :
import { packagePhpCode } from '@bref.sh/constructs';
new PhpFpmFunction(this, 'MyFunction', {
code: packagePhpCode('custom-path', {
exclude: ['docs'],
}),
});
下列途径始终被排除在外: .git, (中文(简体) ), .idea, (中文(简体) ), cdk.out, (中文(简体) ), node_modules, (中文(简体) ), .bref, (中文(简体) ), .serverless, (中文(简体) ), tests。 。 。 .
该建筑还增加了以下选项:
phpVersion(默认 :8.4:要使用的PHP版本.
PhpFunction
此构造将 PHP 函数与 “事件驱动的函数”运行时间。 。 。 .
new PhpFunction(this, 'MyFunction', {
handler: 'my-handler.php',
});
它继承自 AWS CDK Function 构造 默认设置这些选项:
runtime数字 :provided.al2023code:代码自动从当前目录中拉链.layers: Bref 层自动添加.memorySize数字 :1024timeout数字 :6(单位:秒)
该代码从当前目录中自动被拉链. 您可以通过设置 code 属性 :
import { packagePhpCode } from '@bref.sh/constructs';
new PhpFunction(this, 'MyFunction', {
// ...
code: packagePhpCode('custom-path', {
exclude: ['docs'],
}),
});
下列途径始终被排除在外: .git, (中文(简体) ), .idea, (中文(简体) ), cdk.out, (中文(简体) ), node_modules, (中文(简体) ), .bref, (中文(简体) ), .serverless, (中文(简体) ), tests。 。 。 .
该建筑还增加了以下选项:
phpVersion(默认 :8.4:要使用的PHP版本.
ConsoleFunction
此构造将 PHP 函数与 "控制台"运行时间。 。 。 .
new ConsoleFunction(this, 'Artisan', {
handler: 'artisan',
});
它继承自 AWS CDK Function 构造 默认设置这些选项:
runtime数字 :provided.al2023code:代码自动从当前目录中拉链.layers: Bref 层自动添加.memorySize数字 :1024timeout数字 :6(单位:秒)
该代码从当前目录中自动被拉链. 您可以通过设置 code 属性 :
import { packagePhpCode } from '@bref.sh/constructs';
new ConsoleFunction(this, 'Artisan', {
// ...
code: packagePhpCode('custom-path', {
exclude: ['docs'],
}),
});
下列途径始终被排除在外: .git, (中文(简体) ), .idea, (中文(简体) ), cdk.out, (中文(简体) ), node_modules, (中文(简体) ), .bref, (中文(简体) ), .serverless, (中文(简体) ), tests。 。 。 .
该建筑还增加了以下选项:
phpVersion(默认 :8.4:要使用的PHP版本.