小编Zac*_*zer的帖子

EC2 Java SDK - 用户数据脚本

我正在寻找一种方法将用户数据脚本附加到Java SDK中的EC2 RunRequest(相当于命令行工具的ec2-run-instances ami-1234567 -f startup-script.zip).

我读过的一些内容表明任何带有"#!"的用户数据字符串都会执行,但似乎并非如此.

这甚至可能吗?

仅供参考:这是我的测试类:

public class AWSTest {

    public static void main(String[] args) {

        AWSCredentials credentials = new BasicAWSCredentials("access-key","secret-access-key");
        AmazonEC2Client ec2 = new AmazonEC2Client(credentials);
        RunInstancesRequest request = new RunInstancesRequest();
        request.setInstanceType(InstanceType.M1Small.toString());
        request.setMinCount(1);
        request.setMaxCount(1);
        request.setImageId("ami-84db39ed");
        request.setKeyName("linux-keypair");
        request.setUserData(getUserDataScript());
        ec2.runInstances(request);    
    }

    private static String getUserDataScript(){
        ArrayList<String> lines = new ArrayList<String>();
        lines.add("#! /bin/bash");
        lines.add("curl http://www.google.com > google.html");
        lines.add("shutdown -h 0");
        String str = new String(Base64.encodeBase64(join(lines, "\n").getBytes()));
        return str;
    }

    static String join(Collection<String> s, String delimiter) …
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 amazon-web-services

7
推荐指数
1
解决办法
6450
查看次数

标签 统计

amazon-ec2 ×1

amazon-web-services ×1