小编oas*_*olo的帖子

如何以编程方式使用 localstack s3 端点设置 Airflow 1.10 日志记录?

为了尝试将气流日志记录到 localstack s3 存储桶,对于本地和 kubernetes 开发环境,我按照气流文档记录到 s3。简单介绍一下,localstack是一个本地 AWS 云堆栈,其中包含本地运行的包括 s3 在内的 AWS 服务。

我将以下环境变量添加到我的气流容器中,类似于另一个堆栈溢出帖子,试图登录到我的本地 s3 存储桶。docker-compose.yaml这是我为所有气流容器添加的内容:

       - AIRFLOW__CORE__REMOTE_LOGGING=True
       - AIRFLOW__CORE__REMOTE_BASE_LOG_FOLDER=s3://local-airflow-logs
       - AIRFLOW__CORE__REMOTE_LOG_CONN_ID=MyS3Conn
       - AIRFLOW__CORE__ENCRYPT_S3_LOGS=False
Run Code Online (Sandbox Code Playgroud)

我还将我的 localstack s3 信用添加到airflow.cfg

       - AIRFLOW__CORE__REMOTE_LOGGING=True
       - AIRFLOW__CORE__REMOTE_BASE_LOG_FOLDER=s3://local-airflow-logs
       - AIRFLOW__CORE__REMOTE_LOG_CONN_ID=MyS3Conn
       - AIRFLOW__CORE__ENCRYPT_S3_LOGS=False
Run Code Online (Sandbox Code Playgroud)

此外,我还安装了 apache-airflow[hooks] 和 apache-airflow[s3],尽管根据文档并不清楚真正需要哪一个。

我按照之前的堆栈溢出帖子中的步骤尝试验证 S3Hook 是否可以写入我的 localstack s3 实例:

[MyS3Conn]
aws_access_key_id = foo
aws_secret_access_key = bar
aws_default_region = us-east-1
host = http://localstack:4572    # s3 port. not sure if this is right place …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 kubernetes docker-compose airflow localstack

5
推荐指数
1
解决办法
2116
查看次数