D'autres exemples de AWS SDK sont disponibles dans le référentiel AWS Doc SDK Examples GitHub .
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation ListLandingZones
avec un AWS SDK
Les exemples de code suivants illustrent comment utiliser ListLandingZones
.
Les exemples d’actions sont des extraits de code de programmes de plus grande envergure et doivent être exécutés en contexte. Vous pouvez voir cette action en contexte dans l’exemple de code suivant :
- .NET
-
- SDK pour .NET (v4)
-
/// <summary>
/// List the AWS Control Tower landing zones for an account.
/// </summary>
/// <returns>A list of LandingZoneSummary objects.</returns>
public async Task<List<LandingZoneSummary>> ListLandingZonesAsync()
{
try
{
var landingZones = new List<LandingZoneSummary>();
var landingZonesPaginator = _controlTowerService.Paginators.ListLandingZones(new ListLandingZonesRequest());
await foreach (var response in landingZonesPaginator.Responses)
{
landingZones.AddRange(response.LandingZones);
}
return landingZones;
}
catch (AmazonControlTowerException ex)
{
Console.WriteLine($"Couldn't list landing zones. Here's why: {ex.ErrorCode}: {ex.Message}");
throw;
}
}
- Python
-
- SDK pour Python (Boto3)
-
class ControlTowerWrapper:
"""Encapsulates AWS Control Tower and Control Catalog functionality."""
def __init__(
self, controltower_client: boto3.client, controlcatalog_client: boto3.client
):
"""
:param controltower_client: A Boto3 Amazon ControlTower client.
:param controlcatalog_client: A Boto3 Amazon ControlCatalog client.
"""
self.controltower_client = controltower_client
self.controlcatalog_client = controlcatalog_client
@classmethod
def from_client(cls):
controltower_client = boto3.client("controltower")
controlcatalog_client = boto3.client("controlcatalog")
return cls(controltower_client, controlcatalog_client)
def list_landing_zones(self):
"""
Lists all landing zones.
:return: List of landing zones.
:raises ClientError: If the listing operation fails.
"""
try:
paginator = self.controltower_client.get_paginator("list_landing_zones")
landing_zones = []
for page in paginator.paginate():
landing_zones.extend(page["landingZones"])
return landing_zones
except ClientError as err:
if err.response["Error"]["Code"] == "AccessDeniedException":
logger.error(
"Access denied. Please ensure you have the necessary permissions."
)
else:
logger.error(
"Couldn't list landing zones. Here's why: %s: %s",
err.response["Error"]["Code"],
err.response["Error"]["Message"],
)
raise