Há mais exemplos de AWS SDK disponíveis no repositório AWS Doc SDK Examples GitHub .
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Exemplos de código para AWS Control Tower usar AWS SDKs
Os exemplos de código a seguir mostram como usar AWS Control Tower com um kit de desenvolvimento de AWS software (SDK).
As noções básicas são exemplos de código que mostram como realizar as operações essenciais em um serviço.
Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.
Conceitos básicos
O exemplo de código a seguir mostra como começar a usar o AWS Control Tower.
- .NET
-
- SDK para .NET (v4)
-
using Amazon.ControlTower;
using Amazon.ControlTower.Model;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Console;
using Microsoft.Extensions.Logging.Debug;
using LogLevel = Microsoft.Extensions.Logging.LogLevel;
namespace ControlTowerActions;
/// <summary>
/// A class that introduces the AWS Control Tower by listing the
/// available baselines for the account.
/// </summary>
public class HelloControlTower
{
private static ILogger logger = null!;
static async Task Main(string[] args)
{
// Set up dependency injection for AWS Control Tower.
using var host = Host.CreateDefaultBuilder(args)
.ConfigureLogging(logging =>
logging.AddFilter("System", LogLevel.Debug)
.AddFilter<DebugLoggerProvider>("Microsoft", LogLevel.Information)
.AddFilter<ConsoleLoggerProvider>("Microsoft", LogLevel.Trace))
.ConfigureServices((_, services) =>
services.AddAWSService<IAmazonControlTower>()
)
.Build();
logger = LoggerFactory.Create(builder => { builder.AddConsole(); })
.CreateLogger<HelloControlTower>();
var amazonClient = host.Services.GetRequiredService<IAmazonControlTower>();
Console.Clear();
Console.WriteLine("Hello, AWS Control Tower! Let's list available baselines:");
Console.WriteLine();
var baselines = new List<BaselineSummary>();
try
{
var baselinesPaginator = amazonClient.Paginators.ListBaselines(new ListBaselinesRequest());
await foreach (var response in baselinesPaginator.Responses)
{
baselines.AddRange(response.Baselines);
}
Console.WriteLine($"{baselines.Count} baseline(s) retrieved.");
foreach (var baseline in baselines)
{
Console.WriteLine($"\t{baseline.Name}");
}
}
catch (Amazon.ControlTower.Model.AccessDeniedException)
{
Console.WriteLine("Access denied. Please ensure you have the necessary permissions.");
}
catch (Exception ex)
{
Console.WriteLine($"An error occurred: {ex.Message}");
}
}
}
- Python
-
- SDK para Python (Boto3)
-
import boto3
from typing import Any, List
def hello_controltower(controltower_client: Any) -> None:
"""
Use the AWS SDK for Python (Boto3) to create an AWS Control Tower client
and list all available baselines.
This example uses the default settings specified in your shared credentials
and config files.
:param controltower_client: A Boto3 AWS Control Tower Client object. This object wraps
the low-level AWS Control Tower service API.
"""
print("Hello, AWS Control Tower! Let's list available baselines:\n")
paginator = controltower_client.get_paginator("list_baselines")
page_iterator = paginator.paginate()
baseline_names: List[str] = []
try:
for page in page_iterator:
for baseline in page["baselines"]:
baseline_names.append(baseline["name"])
print(f"{len(baseline_names)} baseline(s) retrieved.")
for baseline_name in baseline_names:
print(f"\t{baseline_name}")
except controltower_client.exceptions.AccessDeniedException:
print("Access denied. Please ensure you have the necessary permissions.")
except Exception as e:
print(f"An error occurred: {str(e)}")
if __name__ == "__main__":
hello_controltower(boto3.client("controltower"))