【发布时间】:2017-09-21 03:13:22
【问题描述】:
我正在尝试使用 CloudFormation 和 ASP.NET 进行一些特定的操作。在我的学习过程中,我只是想在 Web 显示器中显示我的 CloudFormation 堆栈。免责声明 -- 我不是专业的开发人员,我正在努力重新学习和更新我多年前的知识。
我一直在 ASP.NET 中使用样板 AWS SDK 模板和其中的 AWS SDK that has CloudFormation capabilities 预览版,不幸的是,我很难将他们的 examples from Console 转换为 Web。当我在检查/开发人员模式下监视它时,该网站甚至不会写入控制台。我清理了这些示例中的一些代码,以清除 ec2 和 s3 的混乱。
图片示例:ttps://pasteboard.co/GLhjCPt.png
默认.aspx.cs:
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.IO;
using Amazon;
using Amazon.CloudFormation;
using Amazon.CloudFormation.Model;
using Amazon.CloudFormation.Resources;
using System.Linq;
namespace AwsWebApp2
{
public partial class _Default : System.Web.UI.Page
{
protected IAmazonCloudFormation acf;
protected void Page_Load(object sender, EventArgs e)
{
sb = new StringBuilder(1024);
using (StringWriter sr = new StringWriter(sb))
{
try
{
acf = new AmazonCloudFormationClient();
this.WriteCloudFormationInfo();
}
catch (AmazonCloudFormationException ex)
{
if (ex.ErrorCode != null && ex.ErrorCode.Equals("InvalidClientTokenId"))
{
sr.WriteLine("The account you are using is not signed up for Amazon CloudFormation.");
sr.WriteLine("<br />");
sr.WriteLine("<br />");
}
else
{
sr.WriteLine("Exception Message: " + ex.Message);
sr.WriteLine("<br />");
sr.WriteLine("Response Status Code: " + ex.StatusCode);
sr.WriteLine("<br />");
sr.WriteLine("Error Code: " + ex.ErrorCode);
sr.WriteLine("<br />");
sr.WriteLine("Error Type: " + ex.ErrorType);
sr.WriteLine("<br />");
sr.WriteLine("Request ID: " + ex.RequestId);
sr.WriteLine("<br />");
sr.WriteLine("<br />");
}
this.acfPlaceholder.Text = sr.ToString();
}
}
}
private void WriteCloudFormationInfo()
{
var cf = new CloudFormation();
foreach (var stack in cf.GetStacks())
{
Console.WriteLine("Stack: {0}", stack.Name);
Console.WriteLine(" Status: {0}", stack.StackStatus);
Console.WriteLine(" Created: {0}", stack.CreationTime);
var ps = stack.Parameters;
if (ps.Any())
{
Console.WriteLine(" Parameters:");
foreach (var p in ps)
{
Console.WriteLine(" {0} = {1}",
p.ParameterKey, p.ParameterValue);
}
}
}
}
}
}
默认.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AwsWebApp2._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>My AWS Enabled Application - AwsWebApp2</title>
<link rel="stylesheet" href="styles/styles.css" type="text/css" media="screen" charset="utf-8"/>
</head>
<html>
<body>
<div id="content" class="container">
<div class="section grid grid5 gridlast ec2">
<h2>Amazon CloudFormations:</h2>
<ul>
<asp:Label ID="acfPlaceholder" runat="server"></asp:Label>
</ul>
</div>
</div>
</body>
</html>
【问题讨论】:
标签: c# asp.net amazon-web-services aws-sdk amazon-cloudformation