Nae*_*eem 3 amazon-web-services user-data python-3.x boto3 aws-lambda
我正在创建 EC2 实例并希望传递用户数据以附加文件系统,但我不知道如何将文件系统 ID 作为变量传递。
文件系统 ID 将使用 API 网关传递。我尝试过以下操作,但用户数据$aa不包含aa值。
aa='fs-ce99bd38'
user_data = """#!bin/bash
sudo yum -y install nfs-utils
sudo mount -t efs -o tls $aa:/ efs
"""
client = boto3.client('ec2', region_name=REGION)
def lambda_handler(event, context):
instance = client.run_instances(
ImageId=AMI,
InstanceType=INSTANCE_TYPE,
KeyName=KEY_NAME,
UserData=user_data,
MaxCount=min_max_add,
MinCount=min_max_add
)
Run Code Online (Sandbox Code Playgroud)
现在这就是将变量插入字符串的方法:-)
如果你有一个相当现代的 Python 版本,你可以使用 f 字符串,如下所示:
aa='fs-ce99bd38'
user_data = f"""#!bin/bash
sudo yum -y install nfs-utils
sudo mount -t efs -o tls {aa}:/ efs
"""
Run Code Online (Sandbox Code Playgroud)
否则,好的旧格式也能达到目的:
aa='fs-ce99bd38'
user_data = """#!bin/bash
sudo yum -y install nfs-utils
sudo mount -t efs -o tls {}:/ efs
""".format(aa)
Run Code Online (Sandbox Code Playgroud)
或者更老的 % 运算符
aa='fs-ce99bd38'
user_data = """#!bin/bash
sudo yum -y install nfs-utils
sudo mount -t efs -o tls %s:/ efs
""" % aa
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1581 次 |
| 最近记录: |