SuperAPI AI 工具集

awsflow-lambda

部署与运维

查看项目

更新于 10-16 11:35

技能介绍

Awsflow Lambda 是 awsflow 技能集中的一项技能,用于管理 AWS Lambda 函数、事件源映射、别名、版本与层。

用途

当用户提出以下需求时适用:询问 Lambda 函数或无服务器相关话题;想调用某个 Lambda 函数;需要更新函数代码;想查看函数配置、并发或函数 URL;询问事件源映射(SQS、SNS、DynamoDB、Kinesis 触发器);需要管理别名、版本或层;想为 Lambda 资源添加或移除标签;想创建、更新或删除 Lambda 函数;需要管理权限或函数 URL。

工具与使用方式

技能通过 LambdaTool 执行 AWS Lambda 命令,涵盖生命周期管理与事件源映射,使用时必须始终提供 params 对象。命令以 {"command": "...", "params": {...}} 形式调用。

查询类命令

ListFunctions 列出 Lambda 函数,可选参数包括 FunctionVersion(设为 ALL 包含所有版本)、Marker(分页标记)、MaxItems(最大返回数量)、MasterRegion(Lambda@Edge 主函数所在区域)。

GetFunction 获取函数详情(含代码位置),参数为 FunctionName(必填,函数名或 ARN)与 Qualifier(可选,版本或别名)。GetFunctionConfiguration 获取函数配置(运行时、处理器、内存、超时、环境变量、角色等)。GetFunctionConcurrency 获取预留并发设置。GetFunctionCodeSigningConfig 获取代码签名配置。GetFunctionUrlConfig 获取函数 URL 配置。GetPolicy 获取函数绑定的基于资源的策略。GetAccountSettings 获取 Lambda 账户级设置与限制(无必填参数)。

Invoke 调用 Lambda 函数,参数包括 FunctionName(必填)、Payload(JSON 字符串)、InvocationType(Event 异步、RequestResponse 同步、DryRun 校验)、LogType(None 或 Tail,Tail 会在响应中包含执行日志)、Qualifier、ClientContext(Base64 编码的客户端上下文)。

生命周期命令

UpdateFunctionCode 更新函数的部署包,支持 ZipFile(Base64 编码的 zip)、S3Bucket、S3Key、S3ObjectVersion、ImageUri(Amazon ECR 容器镜像 URI)、Publish(更新后发布新版本)、DryRun、RevisionId(仅在修订 ID 匹配时更新)、Architectures(x86_64 或 arm64)。

CreateFunction 创建新函数,示例参数包含 FunctionName、Runtime、Role、Handler 及 Code(S3Bucket、S3Key)。UpdateFunctionConfiguration 更新函数配置,如 MemorySize 与 Timeout。DeleteFunction 删除函数。

CreateEventSourceMapping 创建事件源映射,参数含 FunctionName、EventSourceArn、StartingPosition。AddPermission 添加基于资源的权限,参数含 StatementId、Action、Principal、SourceArn。CreateFunctionUrlConfig 创建函数 URL,参数含 AuthType。PutFunctionConcurrency 设置预留并发(ReservedConcurrentExecutions)。

版本与别名

PublishVersion 发布新版本,参数为 FunctionName。CreateAlias 为某版本创建别名(含 Name、FunctionVersion)。UpdateAlias 更新别名。DeleteAlias 删除别名。ListAliases 列出函数的别名(必填 FunctionName)。GetAlias 获取指定别名的详情(必填 FunctionName、Name)。ListVersionsByFunction 列出函数的已发布版本(必填 FunctionName)。

事件源、层与标签

ListEventSourceMappings 列出事件源映射,可选 FunctionName 与 EventSourceArn。GetEventSourceMapping 获取映射详情(必填 UUID)。ListLayerVersions 列出 Lambda 层的版本,必填 LayerName,可选 CompatibleRuntime、CompatibleArchitecture。PublishLayerVersion 发布新层版本,参数含 LayerName 与 Content(如 S3Bucket、S3Key)。ListFunctionsByCodeSigningConfig 列出使用某代码签名配置的函数(必填 CodeSigningConfigArn)。ListTags、TagResource、UntagResource 分别用于列出、添加和移除 Lambda 资源的标签,需提供资源 ARN;添加时提供 Tags 键值对,移除时提供 TagKeys 数组。

相关服务联动

Lambda 会将日志写入 CloudWatch Logs 的 /aws/lambda/{functionName},可用 CloudWatchLogTool 以 DescribeLogGroups 前缀 /aws/lambda/ 查找。可用 ListEventSourceMappings 发现 SQS、SNS、DynamoDB、Kinesis 等触发源,再用相应工具检查。API Gateway 集成会调用 Lambda,可用 APIGatewayTool GetIntegration 查找目标。GetFunctionConfiguration 可获取执行角色 ARN,再用 IAMTool 检查权限。函数常读写 S3,可用 S3Tool 检查所引用的存储桶。Lambda 常作为 Step Functions 任务状态使用,也可由 CloudFormation/SAM 管理,可用 CloudFormationTool 查看栈资源。

限制

资料中未提供具体的计费方式、价格、支持的平台限制或额外使用限制,这些信息暂未提供。