Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 使用AWS Lambda启动EC2实例+;提供要处理的文件的路径_Amazon Web Services_Amazon S3_Amazon Ec2_Aws Lambda - Fatal编程技术网

Amazon web services 使用AWS Lambda启动EC2实例+;提供要处理的文件的路径

Amazon web services 使用AWS Lambda启动EC2实例+;提供要处理的文件的路径,amazon-web-services,amazon-s3,amazon-ec2,aws-lambda,Amazon Web Services,Amazon S3,Amazon Ec2,Aws Lambda,我想写一个Lambda函数来启动EC2实例。该实例应: 从我的datadump输入中下载CSV文件 使用预加载的Python脚本处理该文件 如何使我的EC2实例从S3下载正确的文件?文件名是从事件对象解析的,每次运行时都会不同。启动实例时,可以使用从lambda传递文件名 下面是一些相同的代码: import boto3 ec2 = boto3.resource('ec2') user_data = '''#!/bin/bash echo 'myfilenam

我想写一个Lambda函数来启动EC2实例。该实例应:

  • 从我的
    datadump输入中下载CSV文件
  • 使用预加载的Python脚本处理该文件
  • 如何使我的EC2实例从S3下载正确的文件?文件名是从事件对象解析的,每次运行时都会不同。

    启动实例时,可以使用从lambda传递文件名

    下面是一些相同的代码:

        import boto3
    
        ec2 = boto3.resource('ec2')
    
        user_data = '''#!/bin/bash
        echo 'myfilename' > /tmp/s3filetodownload'''
    
        instance = ec2.create_instances(ImageId='ami',
                   MinCount=1,
                   MaxCount=1,
                   KeyName='sshkey',
                   SecurityGroupIds=['security_group_id'], 
                   UserData=user_data,
                   InstanceType='t2.micro',
                   SubnetId='mysubnet_id')
    
    中有许多其他选项可用于创建实例。

    在启动实例时,您可以使用这些选项从lambda传递文件名

    下面是一些相同的代码:

        import boto3
    
        ec2 = boto3.resource('ec2')
    
        user_data = '''#!/bin/bash
        echo 'myfilename' > /tmp/s3filetodownload'''
    
        instance = ec2.create_instances(ImageId='ami',
                   MinCount=1,
                   MaxCount=1,
                   KeyName='sshkey',
                   SecurityGroupIds=['security_group_id'], 
                   UserData=user_data,
                   InstanceType='t2.micro',
                   SubnetId='mysubnet_id')
    

    在中有许多其他选项可用于创建实例。

    我知道
    boto3
    函数
    start\u实例
    有一个
    UserData
    参数,但我不确定如何正确使用它我知道
    boto3
    函数
    start\u实例
    有一个
    UserData
    参数,但我不知道确定如何正确使用它吗?在实例中,我可以读取
    /tmp/myfilename.csv
    ?是的,这取决于,如果我只有一个文件,我不会将其写入文件,我可以将其写入环境,但这只是一个选择。您可以使用python脚本编写处理文件的完整工作流。因此,在实例中,我可以读取
    /tmp/myfilename.csv
    ?是的,这取决于,如果我只有一个文件,我不会将其写入文件,我可以将其写入环境,但这只是一个选择。您可以使用python脚本编写处理文件的完整工作流。