azure - Azure 的 Airflow 连接

标签 azure airflow azure-blob-storage

我正在为我的工作学习 Airflow,但我陷入了一个非常简单的问题,我无法找到解决方案。

我想通过 Airflow GUI 添加一个简单的 azure blob 连接,但由于某种原因,每当我尝试测试连接时,它都会得到 BAD REQUEST 回复,请参阅下面的示例:

enter image description here

我尝试使用 SAS token 和服务主体登录,但这也不起作用。

在某些时候,我认为这可能是由于缺乏正确的权限造成的,但是当我尝试通过 az cli 登录时使用服务主体,我可以很好地看到资源(使用 authentication via Python 也可以正常工作)。

我在docker镜像上运行airflow,所以我认为可能是没有安装azure提供程序,所以我通过docker exec -it airflow-webserver /bin/bash在docker镜像中打开了一个shell session 并通过 pip 手动安装提供程序,这也没有解决问题。

有人知道我接下来可以尝试什么吗?

最佳答案

UI 中“测试连接”按钮的当前实现仅与环境中 Airflow REST API 的启用相关。这意味着,如果启用了 REST API,则将为所有连接类型启用“测试连接”按钮,即使所选类型实际上并不支持以这种方式测试连接。

此按钮实际上仅在底层 Hook 具有 test_connection() 方法时才起作用,不幸的是 WasbHook (由 Azure Blob 存储连接类型使用)确实如此不是。这就是您看到“错误请求”错误的原因。这并不是因为您的连接本身配置错误,而是因为没有内置测试功能。

有一个PR修复此问题,但尚未发布。

如果您觉得有帮助,可以查看一些有关创建 Azure Blob 存储连接的 Airflow 文档:https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/stable/connections/wasb.html

关于azure - Azure 的 Airflow 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70436291/

相关文章:

azure - 在 Webmatrix 上发布我的应用程序时出错。错误显示 "Cannot access a closed Stream"

java - 在android中启动应用程序时初始化SQL

python - 有没有特定的方法可以在 pod 上安装 python 包?

azure - 将 Powershell 对象 CSV 字符串作为文件保存到 Azure Blob 存储

azure - 加密 azure blob 存储中的图像

python - Django - 使用进度条将文件上传到云(Azure blob 存储)

kubernetes - 如何使用 kubernetes 执行程序为 airflow worker pod 全局设置 request_cpu?

airflow - 是否可以在 UI 中 'tag' Airflow DAG?

azure - 如何设置单个 azure blob 请求的内容处置?

powershell - 使用混合使用权益运行 New-AzureRmVm 的 Powershell 中出现错误