airflow.providers.amazon.aws.operators.lambda_function

LambdaCreateFunctionOperator

创建一个 AWS Lambda 函数。

LambdaInvokeFunctionOperator

调用一个 AWS Lambda 函数。

模块内容

class airflow.providers.amazon.aws.operators.lambda_function.LambdaCreateFunctionOperator(*, function_name, runtime=None, role, handler=None, code, description=None, timeout=None, config=None, wait_for_completion=False, waiter_max_attempts=60, waiter_delay=15, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[source]

Bases: airflow.providers.amazon.aws.operators.base_aws.AwsBaseOperator[airflow.providers.amazon.aws.hooks.lambda_function.LambdaHook]

创建一个 AWS Lambda 函数。

有关此 Operator 参数的更多信息,请参见此处 https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/lambda.html#Lambda.Client.create_function

另请参阅

有关如何使用此 Operator 的更多信息,请参阅指南:创建 AWS Lambda 函数

参数:
  • function_name (str) – AWS Lambda 函数、版本或别名的名称。

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

  • role (str) – 函数执行角色的 Amazon Resource Name (ARN)。

  • handler (str | None) – Lambda 调用以运行您的函数的方法名称。如果部署包是 .zip 文件归档,则 Handler 是必需的。

  • code (dict) – 函数代码。

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

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

  • config (dict | None) – 用于向 boto API create_lambda 调用传递任意参数的可选字典。

  • wait_for_completion (bool) – 如果为 True,Operator 将等待函数变为活跃状态。

  • waiter_max_attempts (int) – 轮询创建状态的最大尝试次数。

  • waiter_delay (int) – 两次轮询创建状态之间的间隔(以秒为单位)。

  • deferrable (bool) – 如果为 True,Operator 将异步等待创建完成。这意味着需要等待创建完成。此模式需要安装 aiobotocore 模块。(默认为 False,但可以在配置文件中设置 default_deferrable 为 True 来覆盖)

  • aws_conn_id – 要使用的 AWS 连接 ID

aws_hook_class[source]
template_fields: collections.abc.Sequence[str][source]
ui_color = '#ff7300'[source]
function_name[source]
runtime = None[source]
role[source]
handler = None[source]
code[source]
description = None[source]
timeout = None[source]
config[source]
wait_for_completion = False[source]
waiter_delay = 15[source]
waiter_max_attempts = 60[source]
deferrable = True[source]
execute(context)[source]

创建 Operator 时派生。

Context 是渲染 jinja 模板时使用的相同字典。

有关更多 context,请参阅 get_template_context。

execute_complete(context, event=None)[source]
class airflow.providers.amazon.aws.operators.lambda_function.LambdaInvokeFunctionOperator(*, function_name, log_type=None, keep_empty_log_lines=True, qualifier=None, invocation_type=None, client_context=None, payload=None, **kwargs)[source]

Bases: airflow.providers.amazon.aws.operators.base_aws.AwsBaseOperator[airflow.providers.amazon.aws.hooks.lambda_function.LambdaHook]

调用一个 AWS Lambda 函数。

您可以同步(并等待响应)或异步调用函数。要异步调用函数,请将 invocation_type 设置为 Event。有关更多详细信息,请查阅 boto3 Lambda invoke 文档。

另请参阅

有关如何使用此 Operator 的更多信息,请参阅指南:调用 AWS Lambda 函数

参数:
  • function_name (str) – AWS Lambda 函数、版本或别名的名称。

  • log_type (str | None) – 设置为 Tail 以在响应和任务日志中包含执行日志。否则,设置为 “None”。仅适用于同步调用的函数,并返回执行日志的最后 4 KB。

  • keep_empty_log_lines (bool) – 是否保留执行日志中的空行。

  • qualifier (str | None) – 指定版本或别名以调用函数的已发布版本。

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

  • client_context (str | None) – 关于调用客户端的数据,将传递给函数的 context 对象

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

  • aws_conn_id – 要使用的 AWS 连接 ID

aws_hook_class[source]
template_fields: collections.abc.Sequence[str][source]
ui_color = '#ff7300'[source]
function_name[source]
payload = None[source]
log_type = None[source]
keep_empty_log_lines = True[source]
qualifier = None[source]
invocation_type = None[source]
client_context = None[source]
execute(context)[source]

从 Airflow 调用目标 AWS Lambda 函数。

返回:

函数的响应 payload 或错误对象。

此条目有帮助吗?