EC2 Java SDK - Пользовательский сценарий данных

Я ищу способ присоединить пользовательский сценарий данных к EC2 RunRequest в Java SDK (эквивалент 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 lines = new ArrayList();
        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 s, String delimiter) {
        StringBuilder builder = new StringBuilder();
        Iterator iter = s.iterator();
        while (iter.hasNext()) {
            builder.append(iter.next());
            if (!iter.hasNext()) {
                break;
            }
            builder.append(delimiter);
        }
        return builder.toString();
    }

}

К сожалению, после того, как я выполняю это, я могу к SSH в поле, и подтвердите это

  • Это не закрылось и
  • Это не загружало файл

Любая помощь значительно ценится.

С наилучшими пожеланиями,

Zach

7
задан Zachary Ozer 1 July 2010 в 22:47
поделиться

1 ответ

Возможно ли, что используемый вами AMI не поддерживает скрипт пользовательских данных? Пожалуйста, используйте AMI, найденные на www.alestic.com.

Хорошая ссылка также http://alestic.com/2009/06/ec2-user-data-scripts

1
ответ дан 7 December 2019 в 16:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: