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á.
Use GetControlOperation
com um AWS SDK
Os exemplos de código a seguir mostram como usar o GetControlOperation
.
Exemplos de ações são trechos de código de programas maiores e devem ser executados em contexto. É possível ver essa ação em contexto no seguinte exemplo de código:
- .NET
-
- SDK para .NET (v4)
-
/// <summary>
/// Get the status of a control operation.
/// </summary>
/// <param name="operationId">The ID of the control operation.</param>
/// <returns>The operation status.</returns>
public async Task<ControlOperationStatus> GetControlOperationAsync(string operationId)
{
try
{
var request = new GetControlOperationRequest
{
OperationIdentifier = operationId
};
var response = await _controlTowerService.GetControlOperationAsync(request);
return response.ControlOperation.Status;
}
catch (Amazon.ControlTower.Model.ResourceNotFoundException)
{
Console.WriteLine("Operation not found.");
throw;
}
catch (AmazonControlTowerException ex)
{
Console.WriteLine($"Couldn't get control operation status. Here's why: {ex.ErrorCode}: {ex.Message}");
throw;
}
}
- Python
-
- SDK para 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 get_control_operation(self, operation_id: str):
"""
Gets the status of a control operation.
:param operation_id: The ID of the control operation.
:return: The operation status.
:raises ClientError: If getting the operation status fails.
"""
try:
response = self.controltower_client.get_control_operation(
operationIdentifier=operation_id
)
return response["controlOperation"]["status"]
except ClientError as err:
if err.response["Error"]["Code"] == "ResourceNotFoundException":
logger.error("Operation not found.")
else:
logger.error(
"Couldn't get control operation status. Here's why: %s: %s",
err.response["Error"]["Code"],
err.response["Error"]["Message"],
)
raise