首页 > 解决方案 > 通过 boto3 在 AWS EC2 上运行 python Flask API

问题描述

我是 AWS 的新手,所以我正在构建一个代码来从一个图像创建一个实例,我希望在创建这个 EC2 的同时它运行一个像这样的 pyhton 代码:

python /folder/folder2/api_flask.py

这是我在 boto 上创建实例的代码。

import boto3
client = boto3.session('ec2')
client.run_instances(ImageId='ami-id_number_of_img', MinCount=1, MaxCount=1, InstanceType='t2.nano')

谢谢你的帮助。

标签: python-3.xamazon-web-servicesflaskamazon-ec2boto3

解决方案


run_instances有一个名为的选项UserData,它允许您在启动时在 Linux 实例上运行命令

因此,要运行您的代码,您可以尝试以下操作:

import boto3

client = boto3.client('ec2') # not boto3.session('ec2')

client.run_instances(ImageId='ami-id_number_of_img', 
                     MinCount=1, 
                     MaxCount=1, 
                     InstanceType='t2.nano',
                     UserData='#!/bin/bash\npython /folder/folder2/api_flask.py\n')

推荐阅读