J'essaie d'effectuer des manipulations spécifiques avec CloudFormation avec ASP.NET. Dans mon parcours d'apprentissage, j'essaie simplement d'afficher mes piles CloudFormation dans un affichage Web. Disclaimer - Je ne suis pas un développeur spécialisé et je travaille pour réapprendre et mettre à jour mes connaissances d'il y a des années. J'ai utilisé le template AWS SDK dans ASP.NET et la version preview de AWS SDK that has CloudFormation capabilities et malheureusement, j'ai du mal à convertir leur examples from Console en Web. Le site Web n'écrira même pas sur la console quand je le surveille en mode inspect/développeur. J'ai nettoyé un peu du code dans ces exemples pour effacer le fouillis ec2 et s3.AWS CloudFormation .NET SDK
exemple d'image: TTP: //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>