Apache Airflow 和 AWS Glue 之间的连接问题

Trouble with connection between Apache Airflow and AWS Glue

我在我的虚拟机 Apache Airflow 上本地启动,我想连接到 Amazon Glue 作业以 运行 它们。 我从拉取请求中获得的源代码:https://github.com/apache/incubator-airflow/pull/3504/files

那么我应该为 运行 Amazon Glue 作业建立什么连接(在 Airflow UI 中)?你能告诉我一些文件吗?因为我在官方文档中没有找到任何有用的东西。

对于 dag 我使用简单的代码:

from datetime import datetime
from airflow import DAG
from airflow.operators.dummy_operator import DummyOperator
from airflow.operators.python_operator import PythonOperator
from airflow.operators.aws_glue_operator import AWSGlueJobOperator
def print_hello():
    return 'Hello hello!'

dag = DAG('hello_world', description='Simple glue DAG',
          schedule_interval='0 0 * * *',
          start_date=datetime(2018, 6, 28), catchup=False)

awsGlueOperator = AWSGlueJobOperator(job_name='FIRST_JOB', script_location='https://s3.us-east-2.amazonaws.com/path-to-script',s3_bucket='https://s3.console.aws.amazon.com/s3/', iam_role_name='AWSGlueServiceRole', dag=dag)

hello_operator = PythonOperator(task_id='hello_task', python_callable=print_hello, dag=dag)

awsGlueOperator >> hello_operator

提前谢谢你。

您使用的 GlueOperator 似乎使用了 AWS Hook. Jumping into the source code for that shows that aws keys and such can go in the extras field as a JSON object。 所以你可以只使用 Amazon Web Services 连接类型并在那里填写适当的值。

这是它的样子(在 UI 中修改了颜色和字体):