Referencia: crear cadenas con formato de fecha y hora para Systems Manager - AWS Systems Manager

Referencia: crear cadenas con formato de fecha y hora para Systems Manager

Las operaciones de la API de AWS Systems Manager aceptan filtros para limitar el número de resultados regresados por una solicitud. Algunas de estas operaciones de la API aceptan filtros que requieren una cadena con formato para representar una fecha y hora específicas. Por ejemplo, la operación DescribeSessions de la API acepta las claves InvokedAfter y InvokedBefore como algunos de los valores válidos para un objeto SessionFilter. Otro ejemplo es la operación DescribeAutomationExecutions de la API, que acepta las claves StartTimeBefore y StartTimeAfter como algunos de los valores válidos para un objeto AutomationExecutionFilter. Los valores que proporcione para estas claves al filtrar sus solicitudes deben coincidir con el estándar ISO 8601. Para obtener información sobre ISO 8601, consulte ISO 8601.

Estas cadenas con formato de fecha y hora no se limitan a los filtros. También hay operaciones de la API que requieren una cadena con formato ISO 8601 para representar una fecha y hora específicas cuando se proporcione un valor para un parámetro de solicitud. Por ejemplo, el parámetro de solicitud AtTime para la operación GetCalendarState. Estas cadenas son difíciles de crear. Utilice los ejemplos de este tema para crear cadenas con formato de fecha y hora para utilizarlas con operaciones de API de Systems Manager.

Dar formato a cadenas de fecha y hora para Systems Manager

A continuación, se muestra un ejemplo de una cadena con formato de fecha y hora ISO 8601.

2024-05-08T15:16:43Z

Esto representa el 8 de mayo de 2024 a las 15:16 en Hora Universal Coordinada (UTC). La parte de fecha de calendario de la cadena se representa mediante un año de cuatro dígitos, un mes de dos dígitos y un día de dos dígitos separados por guiones. Esto se puede representar en el siguiente formato.

YYYY-MM-DD

La parte de hora de la cadena comienza con la letra «T» como delimitador y, a continuación, se representa con la hora de dos dígitos, los minutos de dos dígitos y los segundos de dos dígitos separados por dos puntos. Esto se puede representar en el siguiente formato.

hh:mm:ss

La parte de hora de la cadena termina con la letra «Z», que denota el estándar UTC.

Crear cadenas de fecha y hora personalizadas para Systems Manager

Puede crear cadenas de fecha y hora personalizadas desde su equipo local utilizando su herramienta de línea de comandos preferida. La sintaxis que utilice para crear una cadena con formato de fecha y hora ISO 8601 varía en función del sistema operativo del equipo local. A continuación, se muestran ejemplos de cómo puede utilizar date de los coreutils de GNU en Linux o PowerShell en Windows para crear una cadena de fecha y hora con formato ISO 8601.

coreutils
date '+%Y-%m-%dT%H:%M:%SZ'
PowerShell
(Get-Date).ToString("yyyy-MM-ddTH:mm:ssZ")

Cuando se trabaja con operaciones de la API de Systems Manager, es posible que necesite crear cadenas de fecha y hora históricas para generar informes o solucionar problemas. A continuación, se muestran ejemplos de cómo puede crear y utilizar cadenas de fecha y hora con formato ISO 8601 históricas personalizadas para la AWS Tools for PowerShell y AWS Command Line Interface (AWS CLI).

AWS CLI
  • Recuperar la última semana del historial de comandos de un documento de SSM.

    lastWeekStamp=$(date '+%Y-%m-%dT%H:%M:%SZ' -d '7 days ago') docFilter='{"key":"DocumentName","value":"AWS-RunPatchBaseline"}' timeFilter='{"key":"InvokedAfter","value":'\"$lastWeekStamp\"'}' commandFilters=[$docFilter,$timeFilter] aws ssm list-commands \ --filters $commandFilters
  • Recuperar la última semana del historial de ejecución de automatización.

    lastWeekStamp=$(date '+%Y-%m-%dT%H:%M:%SZ' -d '7 days ago') aws ssm describe-automation-executions \ --filters Key=StartTimeAfter,Values=$lastWeekStamp
  • Recuperar el último mes del historial de sesiones.

    lastWeekStamp=$(date '+%Y-%m-%dT%H:%M:%SZ' -d '30 days ago') aws ssm describe-sessions \ --state History \ --filters key=InvokedAfter,value=$lastWeekStamp
AWS Tools for PowerShell
  • Recuperar la última semana del historial de comandos de un documento de SSM.

    $lastWeekStamp = (Get-Date).AddDays(-7).ToString("yyyy-MM-ddTH:mm:ssZ") $docFilter = @{ Key="DocumentName" Value="AWS-InstallWindowsUpdates" } $timeFilter = @{ Key="InvokedAfter" Value=$lastWeekStamp } $commandFilters = $docFilter,$timeFilter Get-SSMCommand ` -Filters $commandFilters
  • Recuperar la última semana del historial de ejecución de automatización.

    $lastWeekStamp = (Get-Date).AddDays(-7).ToString("yyyy-MM-ddTH:mm:ssZ") Get-SSMAutomationExecutionList ` -Filters @{Key="StartTimeAfter";Values=$lastWeekStamp}
  • Recuperar el último mes del historial de sesiones.

    $lastWeekStamp = (Get-Date).AddDays(-30).ToString("yyyy-MM-ddTH:mm:ssZ") Get-SSMSession ` -State History ` -Filters @{Key="InvokedAfter";Value=$lastWeekStamp}