Airflow/minio:如何使用 minio 作为本地 S3 代理来处理从 Airflow 发送的数据?

jtl*_*lz2 5 amazon-s3 google-cloud-storage airflow minio

简单的问题:

我不想使用 S3 或 GCS,而是想知道如何使用 minio 作为本地 S3 代理来保存 Airflow 发送的数据。我该怎么做呢?我可以使用 FileToGoogleCloudStorageOperator 吗?

如果不是本地存储(大型图像而不是数据库行)的这条路线,您会推荐什么?

谢谢!

iin*_*uwa 5

基于类似的答案,这就是我在撰写本文时必须使用最新版本的 Airflow (1.10.7) 所做的事情:

首先,使用以下信息创建 S3 连接:

Connection Name: '<your connection name>' #  e.g. local_minio
Connection Type: S3
Extra: a JSON object with the following properties: 
 {
    "aws_access_key_id":"your_minio_access_key",
    "aws_secret_access_key": "your_minio_secret_key",
    "host": "http://127.0.0.1:9000"
 }
Run Code Online (Sandbox Code Playgroud)

接下来,在 DAG 中,使用 S3Hook 创建一个任务来与数据交互。以下是一个示例,您可以根据自己的需要进行调整:

Connection Name: '<your connection name>' #  e.g. local_minio
Connection Type: S3
Extra: a JSON object with the following properties: 
 {
    "aws_access_key_id":"your_minio_access_key",
    "aws_secret_access_key": "your_minio_secret_key",
    "host": "http://127.0.0.1:9000"
 }
Run Code Online (Sandbox Code Playgroud)