我正在尝试使用AWS CDK而不是无服务器在AWS Lambda中使用Bref自定义运行时。
CDK代码如下所示。
const region = cdk.Stack.of(this).region;
//arn:aws:lambda:ap-southeast-1:209497400698:layer:php-74:18
const brefLayerVersion = `arn:aws:lambda:${region}:209497400698:layer:php-80:8`;
const assetPath = path.join(__dirname, '../../lambda');
const asset = lambda.Code.fromAsset(assetPath);
const lambdaFunc = new lambda.Function(this, 'LambdaFunction', {
runtime: lambda.Runtime.PROVIDED,
handler: 'src/index.php',
layers: [
lambda.LayerVersion.fromLayerVersionArn(this, 'BrefPHPLayer', brefLayerVersion),
],
code: asset,
});
new cdk.CfnOutput(this, 'LambdaFunctionArn', { value: lambdaFunc.functionArn });
这里是完整的源代码https://github.com/petrabarus/cdk-bref-function
当我尝试使用AWS CLIAWS lambda invoke-function-name arn:blabla
手动调用时,它显示错误。
Cloudwatch日志显示了如下内容。
/opt/bin/php: error while loading shared libraries: libncurses.so.6: cannot open shared object file: No such file or directory
如果我将部署与无服务器框架进行比较,那么配置(层、代码等)几乎是相同的。我错过了什么?
Bref1.0需要提供AmazonLinux2运行时。这是更新的CDK代码。
const lambdaFunc = new lambda.Function(this, 'LambdaFunction', {
runtime: lambda.Runtime.PROVIDED_AL2,
handler: 'src/index.php',
layers: [
lambda.LayerVersion.fromLayerVersionArn(this, 'BrefPHPLayer', brefLayerVersion),
],
code: asset,
});
问题内容: 我已经创建了自己的文件,并通过将其设置为系统类加载器。它已经初始化,并且一切正常,但是找不到我要加载的类。这是: 我已确认该罐子存在,并且路径正确。这是我在程序中如何称呼它: 这是我得到的例外(第166行是指我尝试创建新行的行: 我什至尝试像这样显式加载类: 是什么原因造成的?它不应该“正常工作”吗? 更新: 这是来自的重要代码 更新2: 这是一个SSCCE:http : //nucl
用例-有一个带有消息的主题(空,元数据)。我需要从主题创建一个Ktable,其键(metadata.entity_id)和值为metadata。这个表稍后将被用来与具有相同键的流进行连接。 一旦我将消息推送到主题-METADATA_TOPIC。这会导致以下错误。我在这里遗漏了什么吗?kafka-stream 2.2.0
当我运行时,我收到这个错误: 我有一个客户端文件夹,其中包含Vue应用程序,该文件夹与我的api文件夹位于同一目录中,其中包含后端。 当我在正确的目录中单独运行启动脚本时,每个脚本都可以完美地独立运行。这是我的脚本: 我知道C:\Users\reaga\Desktop\Projects\weather-app-v3\api\client/package。json不存在,但我不知道它为什么会首先出现
我们正在为eclipse RCP应用程序编写SwtBot测试用例,它在eclipse中运行良好。现在,我们正在将测试套件与现有的tycho集成,这样在创建产品时,测试用例也可以执行。下面提到为SWTBot测试套件创建的pom.xml: 请让我知道配置有什么问题?
我使用下面的命令来运行我的项目。 mvn清洁安装 我使用以下命令创建了一个数据库 创建数据库密钥斗篷;将keydeave.*上的所有特权授予“keydeave”@“%”; 我使用下面的命令创建了一个docker映像,并创建了一个映像。 码头工人建造-t钥匙斗篷。 当我使用Docker运行时, docker run-p 8080:8080-e DB_VENDOR=MYSQL-e DB_ADDR=19