airflow.providers.amazon.aws.hooks.mwaa

此模块包含 AWS MWAA hook。

MwaaHook

与 AWS Managed Workflows for Apache Airflow 进行交互。

模块内容

class airflow.providers.amazon.aws.hooks.mwaa.MwaaHook(*args, **kwargs)[source]

继承自: airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook

与 AWS Managed Workflows for Apache Airflow 进行交互。

提供一个简单的封装,用于围绕 boto3.client("mwaa") 进行操作。

如果您的 IAM 策略没有 airflow:InvokeRestApi 权限,该 hook 将使用备用方法,该方法利用 AWS 凭据为 Airflow Web UI 生成本地 Web 登录令牌,然后直接向 Airflow API 发出请求。通过将 generate_local_token 设置为 True,可以将此备用方法设置为默认(且唯一)使用的方法。在此处了解更多信息: https://docs.aws.amazon.com/mwaa/latest/userguide/access-mwaa-apache-airflow-rest-api.html#granting-access-MWAA-Enhanced-REST-API

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

invoke_rest_api(env_name, path, method, body=None, query_params=None, generate_local_token=False)[source]

使用指定的输入在 Airflow Web 服务器上调用 REST API。

参数:
  • env_name (str) – MWAA 环境的名称

  • path (str) – 要调用的 Apache Airflow REST API 端点路径

  • method (str) – 用于进行 Airflow REST API 调用的 HTTP 方法: 'GET'|'PUT'|'POST'|'PATCH'|'DELETE'

  • body (dict | None) – Apache Airflow REST API 调用的请求主体

  • query_params (dict | None) – 要包含在 Apache Airflow REST API 调用中的查询参数

  • generate_local_token (bool) – 如果为 True,则仅使用本地 Web 令牌方法,而不先尝试 boto 的 invoke_rest_api。如果为 False,则在尝试 boto 的 invoke_rest_api 后,本地 Web 令牌方法用作备用方法

此条目有帮助吗?