云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

金山云_阿里云性能测试_三重好礼

小七 141 0

cdn证_美国_全球云计算中心

在这个博客中,我将向您展示如何使用Maven和Eclipse构建使用amazonweb服务在CloudBees平台上运行的web应用程序。如果这一切都是你的第二天性,请跳过这篇博客,看看本系列的下一篇博客(Amazon Web服务和平台即服务:IAM和代币自动售货机)。我将使用一个简单的jspweb应用程序来说明;JSP应用程序和我将要构建的令牌自动售货机示例的版本都可以在GitHub上使用。我假设您安装了一个Eclipse的最新版本,其中安装了AWS工具箱for Eclipse。创建一个新的Eclipse工作区,然后转到new->awsjavawebproject,使用awseeclipse插件创建一个新项目。选择basicjavaweb应用程序选项并选择要使用的AWS帐户:如果您尚未使用eclipseaws Toolkit preferences选项卡配置AWS帐户,请单击Configure AWS accounts链接并输入可以在AWS访问凭据仪表板上找到的访问密钥ID和秘密访问密钥。这将创建一个带有JSP主页的新javaweb应用程序(索引.jsp)它访问许多AWS服务,外加一个Java属性文件(AwsCredentials.属性)包含您的AWS访问凭据,您可以在项目的/src文件夹中找到它。这里重要的一点是,默认情况下,大数据分析系统,/src文件夹中的任何文件都会添加到应用程序的Java类路径中,您可以通过右键单击项目并选择Java Build Path->Configure Build Path:然后索引.jsp(或任何Java代码)都可以使用类加载器的getResourceAsStream()方法访问文件,正如你在这段代码中看到的代码段:AWSCredentials凭据=新属性Credentials(getClass().getClassLoader().getResourceAsStream("AwsCredentials.属性在这里,您可以使用Configure->Convert to Maven Project来生成一个框架pom.xml文件以及Maven项目结构,尽管我更喜欢使用标准的eclipsemaven插件首先要创建项目。在这种情况下,企业软件公司,唯一真正的区别是AwsCredentials.属性文件应该放在项目的/src/main/resources文件夹中:当您运行mvn:安装,您将在/WEB-INF/classes下的目标文件夹中看到属性文件,这意味着它将位于应用程序类路径上,并且可以由中的应用程序类加载器流式输入同样的方法。web应用程序的资源(JSP、样式表等)作为通常。装载使用属性文件的AWS访问凭据对于测试来说是很好的,数据可视化大屏,但是通常更好的方法是使用系统属性将访问密钥和机密传递给应用程序,因为您不希望将敏感信息存储在本地文件系统或保存在源代码存储库中。在本地运行应用程序时(使用CloudBees Eclipse工具箱),您可以使用Run As->Run Configurations定义Maven构建-运行配置。。。然后使用JRE选项卡添加带有-D语法的VM参数。在将应用程序部署到云端时,我们希望PaaS将这些属性映射到我们的应用程序中,而不管它在哪个物理环境中运行:方法是使用CloudBees SDK的config:*命令。michaelneale在CloudBees开发人员资源站点上有一篇详细的文章,介绍如何使用SDK为CloudBees平台上的应用程序设置配置参数,我将对此进行总结在这里。设置配置参数很简单:只需下载并安装cloudbeesdk,云分析,物联网教室,然后使用config插件要像这样设置应用程序的配置参数(在本例中,我的域名是mqprichard/aws cb webapp):蜜蜂配置:set-aaws cb webapp aws_ACCESS_KEY_ID=蜜蜂配置:set-aaws cb webapp aws_SECRET_KEY=您可以使用config:list命令:蜜蜂配置:list-aaws cb webapp可在应用程序中读取这些系统属性,你可以简单地使用系统.getProperty()或者您可以将它们定义为cloudbees中的context param元素-web.xml文件部署描述符,使用${config_param}语法将上下文参数值由CloudBees运行时堆栈注入。它简单易用系统.getProperty(),但在某些情况下,您可能更喜欢使用context param方法,下面是一个如何配置cloudbees的示例-web.xml文件:mqprichard/aws cb webappid>awsAccessKeyparam name>${aws_ACCESS_KEY_ID}param value>context param>awssecretkeyparm name>使用参数u替换参数u>系统.getProperty()orgetServletContext().getInitParameter()检索访问密钥和密钥显示:AWSCredentials凭据=新的基本凭证(系统.getProperty("AWS访问密钥ID"),系统.getProperty("AWS_SECRET_KEY");AWSCredentials credentials=new BasicAWSCredentials(getServletContext().getInitParameter("awsAccessKey"),getServletContext().getInitParameter("awsSecretKey"));最后,需要重新启动应用程序实例,使用CloudBees SDK的应用程序:实例:restart命令-可以使用应用程序:实例:列表:蜜蜂应用程序:实例:list-a mqprichard/aws cb webapp实例ID:mqprichard/6199c075-ce93e48c已部署:2012-12-06 18:00:11.0主机:ec2-50-19-7-16.compute-1。亚马逊网站港口:8432蜜蜂应用程序:实例:重新启动mqprichard/6199c075-ce93e48是否确定想要重新启动这个实例[mqprichard/6199c075-ce93e48c]:(y/n)y instance[mqprichard/6199c075-ce93e48c]:重新启动一旦加载了AWS访问凭据,就可以使用相关的api直接调用AWS服务。下面是一个简单的示例,演示如何显示与JSP中的特定帐户关联的队列url,但是api都遵循相同的原则图样:私人亚马逊sqs;sqs=新的AmazonSQSClient(凭证);