aws-lambda - 将 Ballerina 部署为 AWS Lambda 函数

标签 aws-lambda ballerina

我已经编写了一个基本的 Ballerina 函数并尝试部署为 AWS Lambda。

当我尝试添加 Lambda 层时(使用已发布的 ARN 链接 - https://ballerina.io/deployment/aws-lambda/#ballerina-aws-lambda-layer-compatibility-matrix),AWS 报告权限错误

错误是

not authorised to perform lambda:GetLayerVersion on resource: arn:aws:lambda:eu-west-1:141896495686:layer:ballerina-0-990-3:4

我使用的是 eu-west-1 区域。我也尝试过 us-west-1。

我已经检查过,我的 lambda 执行角色确实包含 GetLayerVersion 权限。我还检查了我是否可以成功添加替代公共(public)层。例如来自 https://github.com/lambci/node-custom-lambda 的自定义 node11 运行时

arn:aws:lambda:eu-west-1:553035198032:layer:nodejs11:11

可以添加保存,不会出现同样的权限错误。

这表明芭蕾舞 Actor 层可能没有适当的公共(public)权限。如果可以共享运行时包,我只是在探索,很高兴部署我自己的私有(private)层。

最佳答案

我们已经为所有地区创建了图层,但不幸的是,并未为所有地区设置权限。上面的错误是由于这个原因引起的,现在我们已经修复了它。您可以关注图层,请重试。

arn:aws:lambda:eu-west-1:141896495686:layer:ballerina-0-990-3:4
arn:aws:lambda:us-west-1:141896495686:layer:ballerina-0-990-3:4

此外,您应该能够通过替换以下 ARN 的区域部分来使用任何层,如 website 中指定的那样

arn:aws:lambda:<region to be replaced>:141896495686:layer:ballerina-0-990-3:4

1.0 及更高版本的更新

对于 1.0 以后的版本,您需要使用以下层。现在没有特定于版本的层,您也可以对新版本使用相同的层

aws lambda update-function-configuration --function-name <FUNCTION_NAME> --layers arn:aws:lambda:<REGION_ID>:141896495686:layer:ballerina:2

关于aws-lambda - 将 Ballerina 部署为 AWS Lambda 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55089910/

相关文章:

ballerina - 如何在 Ballerina 中编写测试用例?

wso2 - 芭蕾舞女 Actor 准备好生产了吗?

elasticsearch - Ballerina 集成器和 Elasticsearch

go - 执行 aws-lambda 函数时出现错误 "fork/exec/var/task/main: no such file or directory"

java - 为 Jersey 资源提供 lambda 上下文

amazon-web-services - 如何使用 Amazon Lex 获取客户的语音输入并使用 amazon connect 将该信息传递到正确的路径?

amazon-web-services - 如果 lambda 代码上传到 S3,如何更新 lambda 函数代码

amazon-web-services - 当 ECR 镜像引用代码时,AWS CDK 更新 lambda 函数代码

database - Ballerina 中事务失败时如何回滚缓存插入操作

wso2 - 如何在 Ballerina 中实现继承