问题标签 [mwaa]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - 是否可以访问 AWS MWAA 中的 Airflow API?
我正在运行一个 AWS MWAA Airflow v2.0.2 实例。
我想访问Airflow API。这是目前支持的东西吗?计划在未来发布?AWS 文档中没有提到这一点。
看起来可以在 AWS MWAA Airflow v1.10.12 中启用实验性 API,但是当我尝试api.auth_backend = airflow.api.auth.backend.default
在 AWS UI 中添加时,我收到以下错误消息:
amazon-web-services - 在托管 apache 气流中设置自定义环境变量
我们计划从自己管理气流切换到 AWS 的托管 Apache Airflow 服务。我们最初的 dag 使用了一些自定义环境变量,这些变量也需要在 Managed airflow 中设置。到目前为止,在 MWAA 中设置气流环境时,我无法找到设置自定义环境变量的方法。如果有人知道如何设置它们,请告诉我。
airflow - AWS Airflow (Amazon MWAA) 上没有名为“airflow.providers.ssh”的模块
我需要在 AWS Airflow (Amazon MWAA) 上的 DAG 中使用 sshoperator,因此我在 DAG 文件中导入了以下库
似乎 sshoperator 已经在 paramiko 库中定义了,所以我也在 requiremets.txt 文件中添加了以下模块
- 参数>=2.6.0
- pysftp>=0.2.9
- sshtunnel>=0.1.4
但是,当我浏览 DAG 时仍然出现以下错误
我的理解是 sshoperator 是 Airflow 中必不可少的内置运算符,因此从技术上讲,我不应该向 Airflow 添加任何额外的库或插件。
amazon-web-services - AWS MWAA:某些提供的配置没有预期的格式:调度程序,例如:core.log_format
我正在 AWS 中部署 Managed Airflow (MWAA) 并在 cloudformation 中收到以下错误。我给出的 log_format 与气流文档中提到的相同,但 CFN 仍然给出错误。
资源处理程序返回消息:“提供的请求无效:某些提供的配置没有预期的格式:调度程序,例如:core.log_format。(服务:Mwaa,状态代码:400,HandlerErrorCode:InvalidRequest)
以下是我在 cloudformation 中提供的 Airflow 配置选项。
airflow - 成功安装 python 依赖项后,MWAA 的 Web UI 上未添加连接类型
我已成功启用 MWAA 环境(Airflow 版本:2.0.2)并为 MSSQL、MySQL 和 Oracle 安装了 python 依赖项。但是这 3 个数据库的连接没有添加到 Web UI 的下拉列表中。任何想法?
- 我检查了 Cloudwatch 上的日志以了解调度程序的要求安装,它显示全部安装成功,如下所示:
Successfully installed apache-airflow-providers-microsoft-mssql-1.1.0 apache-airflow-providers-mysql-1.1.0 apache-airflow-providers-oracle-1.1.0 cx-Oracle-8.2.1 mysql-connector-python-8.0.22 mysqlclient-2.0.3 protobuf-3.17.3 pymssql-2.2.1
是因为 MWAA 安装在/usr/local/lib/python3.7/site-packages下,而 python 依赖项安装在~/.local/lib/python3.7/site-packages下。如何指定软件包安装的目录。
或者是安装依赖后Web Server没有重启。因此,Web UI 没有反映新安装的软件包?如果是这种情况,如何重新启动 Web 服务器?
[更新]
我试图重新创建环境并从一开始就指定需求文件。连接仍未显示在 Web UI 的下拉列表中。
oracle - 无法通过 MWAA 上的提供程序连接到 Oracle 数据库
我目前正在使用 MWAA(Airflow 版本:2.0.2)来构建数据管道。当我尝试使用提供程序连接到 Oracle 数据库 (Oracle 10g) 时,cx_Oracle 引发异常。
- 安装 apache-airflow[oracle]==2.0.2 后执行
cx_Oracle.DatabaseError:DPI-1047:找不到 64 位 Oracle 客户端库:“libclntsh.so:无法打开共享对象文件:没有这样的文件或目录”
- 上传包含instant_client_12_1目录的plugins.zip,覆盖OracleHook的get_conn函数,执行init_oracle_client函数,指定instant_client_12_1目录
cx_Oracle.DatabaseError:DPI-1047:找不到 64 位 Oracle 客户端库:“libmql1.so:无法打开共享对象文件:没有这样的文件或目录”
但该文件确实存在于文件夹下(如下所示)
我认为不可能在 MWAA 上更新 LD_LIBRARY_PATH 之类的环境变量,有什么想法吗?谢谢。
python - 设置 os 环境变量 可用的非 dag 文件管理 apache 气流
我正在尝试从基于 docker 的气流服务转移到 AWS 提供的托管 apache 气流。MWAA 要求您指定一个包含所有 dag 的 dags 文件夹。此外,我可以在 dags 文件夹中创建其他文件夹和文件,并包含一个 .airflowignore 文件,以便将这些文件/文件夹视为非 dag。我可以在这些文件中指定一些常用函数并将它们导入到我的 dag 代码中以使用这些函数。到目前为止,一切都很好。当我必须在这些常见的非 dag 文件中使用某些环境变量时,问题就来了。我从这里找到了如何使用插件设置运行时操作系统环境变量https://docs.aws.amazon.com/mwaa/latest/userguide/samples-env-variables.html
使用此代码,我设置了一个 ENV 变量 My_Var。我的饲料结构看起来像这样
在 hello_dag.py 中,我从 varcheck.py 导入 VAR
在 varcheck.py 我正在做
我收到一个导入错误
有趣的是,如果我将 varcheck.py 文件更改为
然后代码工作正常, print(VAR) 打印所有环境变量。我想知道我们如何在 MWAA 的非 dag 文件中使用 os 环境变量,因为这对我们的实现至关重要。
编辑:回购的当前结构
公共文件使用环境变量。如果我们要用气流变量替换它们,我们需要为气流维护单独的公共文件,因为 job_1、job_2 和 job_3 与气流无关,它们使用公共文件。
amazon-web-services - MWAA 上的气流作业失败,没有日志消息
我已经在 AWS(MWAA) 上使用 Airflow 几个月了,我注意到有时一些 Airflow 任务会在没有明显原因的情况下失败,并且在 Cloudwatch 中也没有日志消息。我经常需要多次清除和重试任务才能最终成功。
有谁知道为什么会发生这种情况?我在考虑 MWAA 的自动缩放功能,这不应该是资源问题。任何有处理此类事情或任何想法的经验的人将不胜感激。谢谢
amazon-web-services - 为 AWS MWAA 使用默认 VPC 与单独 VPC
我目前正在设置 AWS MWAA。我将使用 Apache Airflow 在默认 VPC 中的 AWS RDS 数据库上执行聚合。我应该为 AWS MWAA 创建新的 VPC 还是可以使用默认 VPC?拥有单独的 VPC 有哪些优势?
AWS 文档主要描述了当您想要为 MWAA 创建新 VPC 时要执行的操作。