Servicios web de Amazon: pase la fecha o la programación cron desde los eventos de vigilancia en la nube a la entrada de la func

CorePress2024-01-24  12

¿Hay alguna manera de pasar una fecha o una programación cron como entrada a mi función de estado, que es llamada por un evento de vigilancia en la nube? El evento de observación de la nube se ejecuta según una programación cron y me gustaría pasarlo dinámicamente diariamente a la función de paso

Por ejemplo:

Esto proporciona una entrada estática, pero quiero dar la fecha de cada día como entrada

resource "aws_cloudwatch_event_target" "target" {

rule = aws_cloudwatch_event_rule.samplerule.id
arn = aws_sfn_state_machine.samplemachine.id
role_arn = aws_iam_role.iam_for_sfn.arn
input = <<EOF
{
  "operand1": "3",
  "operand2": "5",
  "operator": "add"
}
EOF
}

¿Por qué no simplemente llamar a hoy() desde la fecha y hora, o cualquiera que sea la función de su idioma para obtener la fecha actual?

- Óscar De León

27/03/2021 a las 18:48

Me gustaría pasar una fecha que inicie la función de paso y usarla para todas mis funciones de paso. Esto se debe principalmente a que si una función de paso va más allá de una fecha en particular, no queremos usar la hora y la fecha del se está ejecutando una función de paso en particular y, más bien, la fecha en que comenzó la función de paso

- srinidhi sridharan

28/03/2021 a las 22:40



------------------------------------

Una solución alternativa podría serutilice el acceso global al objeto de contexto, como se explica aquí para obtener la hora de inicio de ejecución de la máquina de estado de las funciones de paso.

Así que puedes enviarlo a través de los diferentes estados de tu máquina de estados de esta manera:

"mystep1": {
  "Type": "task",
  "Parameters": {
    "StartTime.$": "$$.Execution.StartTime"
 }
}

Asegúrate de usar el doble $ para indicarle a Cloudformation que estás usando el acceso global al objeto de contexto.



------------------------------------

La entrada a su función Lambda desde un evento programado se parece a esto:

{
 "id": "53dc4d37-cffa-4f76-80c9-8b7d4a4d2eaa",
 "detail-type": "Scheduled Event",
 "source": "aws.events",
 "account": "123456789012",
 "time": "2019-10-08T16:53:06Z",
 "region": "us-east-1",
 "resources": [ "arn:aws:events:us-east-1:123456789012:rule/MyScheduledRule" ],
 "detail": {}
}

Utilizando el lenguaje de programación que elija, puede extraer el valor de tiempo y convertirlo de una cadena a un recurso/objeto de fecha (dependiente de su idioma). A partir de ese momento, podrás obtener los componentes de datos que buscas.

IMPORTANTE: Todos los eventos programados utilizan la zona horaria UTC y la precisión mínima para los horarios es 1 minuto: https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html

1

Me gustaría pasar una fecha que inicie la función de paso y usarla para todas mis funciones de paso. Esto se debe principalmente a que si una función de paso va más allá de una fecha en particular, no queremos usar la hora y la fecha del paso particular divertidoLa acción se está ejecutando y más bien la fecha en que inició la función de paso.

- srinidhi sridharan

28/03/2021 a las 22:37

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare