要解决Airflow无法使用本地文件系统作为密钥后端的问题,可以使用Airflow提供的airflow.contrib.secrets.file_system.FileSystemSecretsBackend
类来自定义密钥后端。
以下是一个解决方法的代码示例:
custom_secrets_backend.py
的文件,并将以下代码添加到文件中:from airflow.contrib.secrets.file_system import FileSystemSecretsBackend
class CustomFileSystemSecretsBackend(FileSystemSecretsBackend):
def __init__(self):
super().__init__()
def get_conn_uri(self, conn_id):
# 自定义密钥获取逻辑,可以根据需要修改
conn_uri = super().get_conn_uri(conn_id)
# 在这里可以处理密钥的逻辑
# ...
return conn_uri
airflow.cfg
)找到secrets_backend
配置项,并将其值设置为custom_secrets_backend.CustomFileSystemSecretsBackend
[secrets]
backend = custom_secrets_backend.CustomFileSystemSecretsBackend
现在,当Airflow需要使用密钥时,会调用CustomFileSystemSecretsBackend
类中的get_conn_uri
方法来获取密钥。您可以根据需要修改get_conn_uri
方法中的逻辑来处理密钥。