2014-02-13 21 views
0

我试图通过java api和命令行参数为现有弹性beanstalk应用程序创建应用程序版本的过程自动化。使用java api为Amazon Elastic Beanstalk现有应用程序创建新的应用程序版本

同时实现AWSElasticBeanstalkClient的createApplicationVersion()我得到下面的代码snipplet的错误。 注意:我将AWSElasticBeanstalkClient的端点作为US East-1(N.Virginia)或现有应用程序的环境URL传递。

ArrayList<String> s3SourceBundleList = AmazonS3BucketUploadApp.doBucketUploadFromLocal(sourceLocation); 
    String bucketName = s3SourceBundleList.get(0); 
    String keyName = java.net.URLEncoder.encode(s3SourceBundleList.get(1), "UTF-8"); 
    //String keyName = s3SourceBundleList.get(1); 
    S3Location s3SourceBundle = new S3Location(); 
    s3SourceBundle.setS3Bucket(bucketName); 
    s3SourceBundle.setS3Key(keyName); 
    createApplicationVersionRequest.setSourceBundle(s3SourceBundle); 
    createApplicationVersionRequest.setDescription("New version"); 

    appVersionResultObject = awsBeanstalkclient.createApplicationVersion(createApplicationVersionRequest); 

错误:

com.amazonaws.AmazonClientException: Unable to unmarshall response (ParseError at [row,col]:[6,1] 

和一个更多的错误是

AWS service: AmazonElasticBeanstalk AWS Request ID: null AWS service unavailable. 

请提出这方面的任何解决方案。

回答

0

你如何初始化客户端(检查日志输出 - 启用记录器org.apache.http.wire TRACE可以帮助)?

如果你想一个想法,这个源偷看:

https://github.com/jenkinsci/awseb-deployment-plugin/blob/master/src/main/java/br/com/ingenieux/jenkins/plugins/awsebdeployment/Deployer.java

它包含了所有你需要建立和部署到AWS EB :)

+0

感谢您的建议。我现在正在为我的独立Java应用程序获取连接拒绝错误,以自动创建应用程序版本以用于beanstalk。 AWSElasticBeanStalkClient由下面的代码初始化。 AWSElasticBeanstalkClient awsBeanstalkclient = CommandlineApp \t \t \t \t .getAmazonElasticBeanstalkClient(awsconfig,accessKeyID,secretAccessKey); \t \t awsBeanstalkclient.setEndpoint(property.getProperty(“ebsEndPoint”));请帮忙。 – maali

+0

阅读: http://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/java-dg-logging.html 然后启用电线调试,如上所述。审查,放弃密钥,并粘贴到Git好吗? – aldrinleal

相关问题