AWS CloudFormation contoh menggunakan AWS SDK for .NET - AWS SDKContoh Kode

Ada lebih banyak AWS SDK contoh yang tersedia di GitHub repo SDKContoh AWS Dokumen.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

AWS CloudFormation contoh menggunakan AWS SDK for .NET

Contoh kode berikut menunjukkan cara melakukan tindakan dan mengimplementasikan skenario umum dengan menggunakan AWS SDK for .NET with AWS CloudFormation.

Tindakan adalah kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Meskipun tindakan menunjukkan cara memanggil fungsi layanan individual, Anda dapat melihat tindakan dalam konteks pada skenario terkait dan contoh lintas layanan.

Skenario adalah contoh kode yang menunjukkan cara menyelesaikan tugas tertentu dengan memanggil beberapa fungsi dalam layanan yang sama.

Setiap contoh menyertakan tautan ke GitHub, di mana Anda dapat menemukan petunjuk tentang cara mengatur dan menjalankan kode dalam konteks.

Memulai

Contoh kode berikut menunjukkan bagaimana untuk mulai menggunakan AWS CloudFormation.

AWS SDK for .NET
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di AWS Repositori Contoh Kode.

using Amazon.CloudFormation; using Amazon.CloudFormation.Model; using Amazon.Runtime; namespace CloudFormationActions; public static class HelloCloudFormation { public static IAmazonCloudFormation _amazonCloudFormation; static async Task Main(string[] args) { // Create the CloudFormation client _amazonCloudFormation = new AmazonCloudFormationClient(); Console.WriteLine($"\nIn Region: {_amazonCloudFormation.Config.RegionEndpoint}"); // List the resources for each stack await ListResources(); } /// <summary> /// Method to list stack resources and other information. /// </summary> /// <returns>True if successful.</returns> public static async Task<bool> ListResources() { try { Console.WriteLine("Getting CloudFormation stack information..."); // Get all stacks using the stack paginator. var paginatorForDescribeStacks = _amazonCloudFormation.Paginators.DescribeStacks( new DescribeStacksRequest()); await foreach (Stack stack in paginatorForDescribeStacks.Stacks) { // Basic information for each stack Console.WriteLine("\n------------------------------------------------"); Console.WriteLine($"\nStack: {stack.StackName}"); Console.WriteLine($" Status: {stack.StackStatus.Value}"); Console.WriteLine($" Created: {stack.CreationTime}"); // The tags of each stack (etc.) if (stack.Tags.Count > 0) { Console.WriteLine(" Tags:"); foreach (Tag tag in stack.Tags) Console.WriteLine($" {tag.Key}, {tag.Value}"); } // The resources of each stack DescribeStackResourcesResponse responseDescribeResources = await _amazonCloudFormation.DescribeStackResourcesAsync( new DescribeStackResourcesRequest { StackName = stack.StackName }); if (responseDescribeResources.StackResources.Count > 0) { Console.WriteLine(" Resources:"); foreach (StackResource resource in responseDescribeResources .StackResources) Console.WriteLine( $" {resource.LogicalResourceId}: {resource.ResourceStatus}"); } } Console.WriteLine("\n------------------------------------------------"); return true; } catch (AmazonCloudFormationException ex) { Console.WriteLine("Unable to get stack information:\n" + ex.Message); return false; } catch (AmazonServiceException ex) { if (ex.Message.Contains("Unable to get IAM security credentials")) { Console.WriteLine(ex.Message); Console.WriteLine("If you are usnig SSO, be sure to install" + " the AWSSDK.SSO and AWSSDK.SSOOIDC packages."); } else { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } return false; } catch (ArgumentNullException ex) { if (ex.Message.Contains("Options property cannot be empty: ClientName")) { Console.WriteLine(ex.Message); Console.WriteLine("If you are using SSO, have you logged in?"); } else { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } return false; } } }
Topik