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 編碼資料,包含有關呼叫客戶端的資訊,用於透過 context 物件傳遞給函式。

  • 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 檔案歸檔,則 runtime 是必需的。

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

  • handler (str | None) – Lambda 呼叫以執行您的函式的方法名稱。如果部署包是 .zip 檔案歸檔,則 handler 是必需的。

  • 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) – 用於加密函式環境變數的 Key Management Service (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 到 10,240 MB 之間的任何整數。

  • snap_start (Any | None) – 函式的 SnapStart 設定。

  • logging_config (Any | None) – 函式的 Amazon CloudWatch Logs 配置設定。

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

從響應中解碼執行日誌並返回日誌記錄列表。

錯誤時返回 None,例如無效的 base64 編碼字串。

引數:
  • log_result (str) – 包含 Lambda 執行日誌的 base64 編碼字串。

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

此條目是否有幫助?