我有一个MWAA环境,我必须创建另一个由Terraform。环境创建不是一个问题,但我的旧环境的“元数据”。我想导入所有的变量和连接,编程,但我还没有弄清楚到目前为止。我尝试在approach中更改一些东西,使用对MWAA CLI的POST请求,但我只得到一个超时。有人曾经这样做过吗?我想导入变量和连接到我的MWAA环境,每次我创建它。
iovurdzv1#
我知道您想将旧的MWAA变量复制到新示例中,您可以参考以下文档,其中包含AWS CLI https://docs.aws.amazon.com/mwaa/latest/userguide/airflow-cli-command-reference.html支持的所有命令。变量和连接设置和获取命令可用。遗憾的是,AWS CLI不支持所有命令。请注意,您需要通过AWS MWAA CLI身份验证,获取令牌,然后才能执行支持的命令。有关详细信息https://docs.aws.amazon.com/mwaa/latest/userguide/call-mwaa-apis-cli.html,请参阅以下文档以下是有关如何获取CLI令牌和执行命令的代码片段。
import boto3 import requests AWS_MWAA_HOSTNAME_URL = "" client = boto3.client('mwaa') def generate_cli_token(mwaa_env_name): return client.create_cli_token( Name=mwaa_env_name ) def execute_mwaa_command(token, domain, command): res = requests.post( AWS_MWAA_HOSTNAME_URL.format(domain=domain), headers={ 'Authorization': f'Bearer {token}', 'Content-Type': 'text/plain' }, data=command ) if res.status_code == 200: return res.json() else: print(res.text) res.raise_for_status()
1条答案
按热度按时间iovurdzv1#
我知道您想将旧的MWAA变量复制到新示例中,您可以参考以下文档,其中包含AWS CLI https://docs.aws.amazon.com/mwaa/latest/userguide/airflow-cli-command-reference.html支持的所有命令。
变量和连接设置和获取命令可用。
遗憾的是,AWS CLI不支持所有命令。请注意,您需要通过AWS MWAA CLI身份验证,获取令牌,然后才能执行支持的命令。有关详细信息https://docs.aws.amazon.com/mwaa/latest/userguide/call-mwaa-apis-cli.html,请参阅以下文档
以下是有关如何获取CLI令牌和执行命令的代码片段。