airflow.providers.amazon.aws.hooks.mwaa¶
此模块包含 AWS MWAA hook。
类¶
与 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 令牌方法用作备用方法