【发布时间】:2022-12-13 20:48:53
【问题描述】:
我刚开始使用 AWS 托管的 Airflow 服务。我想使用 Airflow 启动一个 EC2 实例,确保它正在运行,然后在该实例中做一些进一步的工作。
到目前为止,我在下面有这个 dag,它基本上是 this 的副本。
然而,这每次都失败了,我还不够熟练,不知道为什么?
import os
from datetime import datetime
from airflow import DAG
from airflow.models.baseoperator import chain
from airflow.providers.amazon.aws.operators.ec2 import EC2StartInstanceOperator, EC2StopInstanceOperator
from airflow.providers.amazon.aws.sensors.ec2 import EC2InstanceStateSensor
INSTANCE_ID = os.getenv("INSTANCE_ID", "instance-id")
with DAG(
dag_id='example_ec2',
schedule_interval=None,
start_date=datetime(2021, 1, 1),
tags=['example'],
catchup=False,
) as dag:
# [START howto_operator_ec2_start_instance]
start_instance = EC2StartInstanceOperator(
task_id="ec2_start_instance",
instance_id=INSTANCE_ID,
)
# [END howto_operator_ec2_start_instance]
# [START howto_sensor_ec2_instance_state]
instance_state = EC2InstanceStateSensor(
task_id="ec2_instance_state",
instance_id=INSTANCE_ID,
target_state="running",
)
# [END howto_sensor_ec2_instance_state]
chain(start_instance, instance_state)
【问题讨论】:
-
你有日志吗?
标签: amazon-web-services amazon-ec2 airflow mwaa