我試圖用ASP.NET與CloudFormation做一些特定的操作。在我的學習之旅中,我只是試圖在Web顯示中顯示我的CloudFormation堆棧。免責聲明 - 我不是一個專業的開發人員,並且正在努力工作,以便從幾年前重新學習和更新我的知識。AWS CloudFormation .NET SDK
我一直在ASP.NET中使用樣板AWS SDK模板,並在其中預覽版本爲AWS SDK that has CloudFormation capabilities,不幸的是,我很難將其examples from Console轉換爲Web。當我在檢查/開發者模式下監控它時,網站甚至不會寫入控制檯。我在這些例子中清理了一些代碼,以清除ec2和s3混亂。
圖像例如:TTPS://pasteboard.co/GLhjCPt.png
Default.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);
}
}
}
}
}
}
Default.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>