• O AWS Systems Manager Change Manager não está mais aberto para novos clientes. Os clientes atuais podem continuar usando o serviço normalmente. Para obter mais informações, consulte mudança de disponibilidade do AWS Systems Manager Change Manager.
• O AWS Systems Manager CloudWatch Dashboard não estará mais disponível a partir de 30 de abril de 2026. Os clientes podem continuar usando o console do Amazon CloudWatch para visualizar, criar e gerenciar os painéis do Amazon CloudWatch exatamente como fazem hoje. Para obter mais informações, consulte a documentação do Amazon CloudWatch.
Usar UpdateOpsItem com o AWS SDK ou a CLI
Os exemplos de código a seguir mostram como usar o UpdateOpsItem.
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:
- CLI
-
- AWS CLI
-
Como atualizar um OpsItem
O exemplo de update-ops-item a seguir atualiza a descrição, a prioridade e a categoria de um OpsItem. Além disso, o comando especifica um tópico do SNS para o qual as notificações são enviadas quando esse OpsItem é editado ou alterado.
aws ssm update-ops-item \
--ops-item-id "oi-287b5EXAMPLE" \
--description "Primary OpsItem for failover event 2020-01-01-fh398yf" \
--priority 2 \
--category "Security" \
--notifications "Arn=arn:aws:sns:us-east-2:111222333444:my-us-east-2-topic"
Resultado:
This command produces no output.
Para obter mais informações, consulte Gerenciamento de OpsItems no Guia do usuário do AWS Systems Manager.
- Java
-
- SDK para Java 2.x
-
/**
* Resolves an AWS SSM OpsItem asynchronously.
*
* @param opsID The ID of the OpsItem to resolve.
* <p>
* This method initiates an asynchronous request to resolve an SSM OpsItem.
* If an exception occurs, it handles the error appropriately.
*/
public void resolveOpsItem(String opsID) {
UpdateOpsItemRequest opsItemRequest = UpdateOpsItemRequest.builder()
.opsItemId(opsID)
.status(OpsItemStatus.RESOLVED)
.build();
CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
getAsyncClient().updateOpsItem(opsItemRequest)
.thenAccept(response -> {
System.out.println("OpsItem resolved successfully.");
})
.exceptionally(ex -> {
throw new CompletionException(ex);
}).join();
}).exceptionally(ex -> {
Throwable cause = (ex instanceof CompletionException) ? ex.getCause() : ex;
if (cause instanceof SsmException) {
throw new RuntimeException("SSM error: " + cause.getMessage(), cause);
} else {
throw new RuntimeException("Unexpected error: " + cause.getMessage(), cause);
}
});
try {
future.join();
} catch (CompletionException ex) {
throw ex.getCause() instanceof RuntimeException ? (RuntimeException) ex.getCause() : ex;
}
}
- JavaScript
-
- SDK para JavaScript (v3)
-
import { UpdateOpsItemCommand, SSMClient } from "@aws-sdk/client-ssm";
import { parseArgs } from "node:util";
/**
* Update an SSM OpsItem.
* @param {{ opsItemId: string, status?: OpsItemStatus }}
*/
export const main = async ({
opsItemId,
status = undefined, // The OpsItem status. Status can be Open, In Progress, or Resolved
}) => {
const client = new SSMClient({});
try {
await client.send(
new UpdateOpsItemCommand({
OpsItemId: opsItemId,
Status: status,
}),
);
console.log("Ops item updated.");
return { Success: true };
} catch (caught) {
if (
caught instanceof Error &&
caught.name === "OpsItemLimitExceededException"
) {
console.warn(
`Couldn't create ops item because you have exceeded your open OpsItem limit. ${caught.message}.`,
);
} else {
throw caught;
}
}
};
- Python
-
- SDK para Python (Boto3).
-
class OpsItemWrapper:
"""Encapsulates AWS Systems Manager OpsItem actions."""
def __init__(self, ssm_client):
"""
:param ssm_client: A Boto3 Systems Manager client.
"""
self.ssm_client = ssm_client
self.id = None
@classmethod
def from_client(cls):
"""
:return: A OpsItemWrapper instance.
"""
ssm_client = boto3.client("ssm")
return cls(ssm_client)
def update(self, title=None, description=None, status=None):
"""
Update an OpsItem.
:param title: The new OpsItem title.
:param description: The new OpsItem description.
:param status: The new OpsItem status.
:return:
"""
args = dict(OpsItemId=self.id)
if title is not None:
args["Title"] = title
if description is not None:
args["Description"] = description
if status is not None:
args["Status"] = status
try:
self.ssm_client.update_ops_item(**args)
except ClientError as err:
logger.error(
"Couldn't update ops item %s. Here's why: %s: %s",
self.id,
err.response["Error"]["Code"],
err.response["Error"]["Message"],
)
raise
- SAP ABAP
-
- SDK para SAP ABAP
-
TRY.
lo_ssm->updateopsitem(
iv_opsitemid = iv_ops_item_id
iv_title = iv_title
iv_description = iv_description
iv_status = iv_status ).
MESSAGE 'OpsItem updated.' TYPE 'I'.
CATCH /aws1/cx_ssmopsitemnotfoundex.
MESSAGE 'OpsItem not found.' TYPE 'I'.
CATCH /aws1/cx_ssmopsiteminvparamex.
MESSAGE 'Invalid OpsItem parameter.' TYPE 'I'.
ENDTRY.
Para ver uma lista completa dos guias de desenvolvedor e exemplos de código do SDK da AWS, consulte Using this service with an AWS SDK. Este tópico também inclui informações sobre como começar e detalhes sobre versões anteriores do SDK.