Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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
AWS EC2用户数据未从Java复制S3中的文件_Java_Amazon S3_Amazon Ec2 - Fatal编程技术网

AWS EC2用户数据未从Java复制S3中的文件

AWS EC2用户数据未从Java复制S3中的文件,java,amazon-s3,amazon-ec2,Java,Amazon S3,Amazon Ec2,在请求spot实例时,我将以下命令作为userData的一部分发出。此命令用于将文件从S3复制到获取的spot实例。我也有必要访问s3存储桶 String startupUserData = "aws s3 cp s3://ugamplatform-spot/python-script/script.py /opt/scripts/"; startupUserData = org.apache.commons.codec.binary.Base64.encodeBase64String(star

在请求spot实例时,我将以下命令作为userData的一部分发出。此命令用于将文件从S3复制到获取的spot实例。我也有必要访问s3存储桶

String startupUserData = "aws s3 cp s3://ugamplatform-spot/python-script/script.py /opt/scripts/";
startupUserData = org.apache.commons.codec.binary.Base64.encodeBase64String(startupUserData.getBytes());

LaunchSpecification launchSpecification = new LaunchSpecification();
    launchSpecification.withKeyName("dev_spot")
    .withImageId("ami-0483f13a861249490")
    .withInstanceType(InstanceType.C4Large)
    .withSubnetId("subnet-3dee5t67")
    .withUserData(startupUserData)
    .withAllSecurityGroups(securityGroups);
requestRequest.setLaunchSpecification(launchSpecification);
RequestSpotInstancesResult requestResult = ec2.requestSpotInstances(requestRequest);
我能够成功获得spot实例。但是S3中的文件没有被复制。请求实例时,我在应用程序日志中没有看到任何错误


我甚至通过userData尝试了一个简单的mkdir命令。该力也可以工作

您还需要提到地区……从s3 bucket下载到任何EC2实例的命令来自美国东部地区


aws s3 cp s3://distribution bucket//path/to/copyOrDownload--region us-east-2

您还需要提到region…从s3 bucket下载到任何EC2实例的命令来自us east region is


aws s3 cp s3://distribution bucket//path/to/copyOrDownload--region us-east-2

您可以查看使用aws CLI在控制台输出中运行用户数据时发生的事件日志:

aws ec2获取控制台输出——实例id i-yourinstanceid

您可以使用以下方法获取实例id:


aws ec2描述实例状态

您可以使用aws CLI查看用户数据通过控制台输出时发生的事件日志:

aws ec2获取控制台输出——实例id i-yourinstanceid

您可以使用以下方法获取实例id:


aws ec2描述实例状态

它也不适用于该地区。如果我登录到获取的spot实例并在curl“”中运行它,我就能够获得通过javaapi传递的用户数据。但它不起作用。我试过正常的mkdir。那也不行。是否存在任何权限问题?另外,如果我必须查看在执行userData时发生的事情的日志,我应该检查哪里?它也不能与区域一起工作。如果我登录到获取的spot实例并在curl“”中运行它,我就能够获得通过javaapi传递的用户数据。但它不起作用。我试过正常的mkdir。那也不行。是否存在任何权限问题?另外,如果我必须查看在执行userData时发生的事情的日志,我应该检查哪里?