airflow.providers.amazon.aws.hooks.lambda_function

此模块包含 AWS Lambda Hook。

模块内容

LambdaHook

与 AWS Lambda 交互。

class airflow.providers.amazon.aws.hooks.lambda_function.LambdaHook(*args, **kwargs)[源代码]

基类: airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook

与 AWS Lambda 交互。

提供对 boto3.client("lambda") 的薄封装。

可以指定其他参数(如 aws_conn_id),并将这些参数传递到底层的 AwsBaseHook。

invoke_lambda(*, function_name, invocation_type=None, log_type=None, client_context=None, payload=None, qualifier=None)[源代码]

调用 Lambda 函数。

另请参阅

参数
  • function_name (str) – AWS Lambda 函数名称

  • invocation_type (str | None) – AWS Lambda 调用类型(RequestResponse、Event 等)

  • log_type (str | None) – 设置为 Tail 以在响应中包含执行日志。仅适用于同步调用的函数。

  • client_context (str | None) – 最多 3,583 字节的 base64 编码的有关调用客户端的数据,以便在上下文对象中传递给函数。

  • payload (bytes | str | None) – 您想要作为输入提供给 Lambda 函数的 JSON。

  • qualifier (str | None) – AWS Lambda 函数版本或别名

create_lambda(*, function_name, runtime=None, role, handler=None, code, description=None, timeout=None, memory_size=None, publish=None, vpc_config=None, package_type=None, dead_letter_config=None, environment=None, kms_key_arn=None, tracing_config=None, tags=None, layers=None, file_system_configs=None, image_config=None, code_signing_config_arn=None, architectures=None, ephemeral_storage=None, snap_start=None, logging_config=None)[源代码]

创建 Lambda 函数。

参数
  • function_name (str) – AWS Lambda 函数名称

  • runtime (str | None) – 函数运行时的标识符。如果部署包是 .zip 文件存档,则运行时是必需的。

  • role (str) – 函数执行角色的 Amazon 资源名称 (ARN)。

  • handler (str | None) – Lambda 调用以运行您的代码的方法名称。如果部署包是 .zip 文件存档,则处理程序是必需的。

  • code (dict) – 函数的代码。

  • description (str | None) – 函数的描述。

  • timeout (int | None) – Lambda 允许函数在停止运行之前运行的时间(以秒为单位)。

  • memory_size (int | None) – 函数在运行时可用的内存量。增加函数内存也会增加其 CPU 分配。

  • publish (bool | None) – 设置为 true 以在创建期间发布函数的第一个版本。

  • vpc_config (Any | None) – 对于连接到 VPC 中 Amazon Web Services 资源的网路连接,请指定 VPC 中的安全组和子网列表。

  • package_type (str | None) – 部署包的类型。对于容器镜像设置为 Image,对于 .zip 文件归档设置为 Zip

  • dead_letter_config (Any | None) – 死信队列配置,指定当 Lambda 异步事件处理失败时,将事件发送到的队列或主题。

  • environment (Any | None) – 函数代码在执行期间可以访问的环境变量。

  • kms_key_arn (str | None) – 用于加密函数环境变量的密钥管理服务 (KMS) 密钥的 ARN。如果未提供,Lambda 将使用默认服务密钥。

  • tracing_config (Any | None) – 将 Mode 设置为 Active 以使用 X-Ray 对一部分传入请求进行采样和跟踪。

  • tags (Any | None) – 应用于函数的标签列表。

  • layers (list | None) – 要添加到函数执行环境的函数层列表。通过其 ARN(包括版本)指定每个层。

  • file_system_configs (list[Any] | None) – Amazon EFS 文件系统的连接设置。

  • image_config (Any | None) – 覆盖容器镜像 Dockerfile 中值的容器镜像配置值。

  • code_signing_config_arn (str | None) – 要为此函数启用代码签名,请指定代码签名配置的 ARN。代码签名配置包括一组签名配置文件,这些配置文件定义了此函数的受信任发布者。

  • architectures (list[str] | None) – 函数支持的指令集架构。

  • ephemeral_storage (Any | None) – 函数 /tmp 目录的大小,以 MB 为单位。默认值为 512,但可以是 512 到 10240 MB 之间的任何整数。

  • snap_start (Any | None) – 函数的 SnapStart 设置。

  • logging_config (Any | None) – 函数的 Amazon CloudWatch Logs 配置设置。

static encode_log_result(log_result, *, keep_empty_lines=True)[source]

从响应中编码执行日志,并返回日志记录列表。

如果发生错误(例如无效的 base64 编码字符串),则返回 None

参数
  • log_result (str) – 包含 Lambda 执行日志的 base64 编码字符串。

  • keep_empty_lines (bool) – 是否保留空行。

此条目是否有帮助?