Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.2K
Visualizações
Cómo establecer la marca de tiempo en la zona horaria de la región de aws para el código python de aws lambda

en mi código python lambda que escanea dynamodb en función de la clave principal como 'deviceId' y sortkey timestamp (que está en formato AAAA-MM-DD HH:MN:SS), necesito escanear cada uno de los últimos 15 minutos de datos (a partir de ahora) . Estoy en la región de Mumbai (ap-sur-1), ¿cómo configuro la zona horaria local en mi siguiente código lambda? ya que está eligiendo la fecha y hora utc predeterminada. Idealmente, la lambda tiene que escanear y si el recuento de retorno es> = 10, entonces el termostato + 5.

 import boto3 import math import json import time from datetime import datetime,timedelta from dateutil.tz import tzlocal from boto3.dynamodb.conditions import Key, Attr client = boto3.client('dynamodb') dynamodb = boto3.resource('dynamodb') def lambda_handler(event, context): #table_name= "thermostat_dynamo" table_name= "newsensor" Primary_Column_Name = 'deviceId' table = dynamodb.Table(table_name) #key_param = "thermostat" #thermostatVal = table.get_item(Key={key_param:event[key_param]}) ## get record from dynamodb for this sensor thermostatVal= 77 #now = datetime.now() now = datetime.now(tzlocal()) fifteen_min_ago = now - timedelta(seconds=900) now = now.strftime('%F %T') fifteen_min_ago = fifteen_min_ago.strftime('%F %T') fe = Key('timeStamp').between(fifteen_min_ago,now); response = table.scan(FilterExpression=fe & Attr('temperature').lt(thermostatVal)) if response['Count'] == 10: #return thermostatVal+5 thermonew = thermostatVal + 5 tosensor = '{"thermostat":'+'"%s"}' %thermonew print(tosensor) #response = client.publish(topic="updatehomesensor", qos=1, payload=tosensor) return elif response['Count'] < 10: #tosensor = '{"thermostat":'+'"%s"}' %thermostatVal print('{"thermostat":'+'"%s"}' %thermostatVal) #response = client.publish(topic="updatehomesensor", qos=1, payload=tosensor) return
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Todas las instancias de Lambda están configuradas en la zona horaria UTC. En caso de que desee cambiar ese comportamiento, debe actualizar la variable de entorno.

A continuación, se incluye un documento detallado que menciona TZ como variable de entorno reservada https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html .

Entonces, en su caso, por ejemplo, desea configurar lambda para usar IST [zona horaria estándar india]. Debe seguir los siguientes pasos.

  1. En la pestaña de configuración de la función, desplácese hacia abajo hasta la sección de variables de entorno.
  2. Haga clic en Editar y agregue la variable TZ con el valor Asia/Calcuta [Para IST].

Debería verse como a continuación

ingrese la descripción de la imagen aquí

Después de guardar la variable de entorno, su entorno utilizará la zona horaria mencionada en la variable TZ.

over 4 years ago · Santiago Trujillo Relatório

0

En primer lugar, no hay un comando CLI nativo para obtener la zona horaria de una región, por lo que la zona horaria de la región debe provenir de usted.

Puede crear una variable de entorno de AWS_TIMEZONE y establecer el valor en 'Asia/Kolkata' . Luego, deberá agregar import os and from pytz import timezone y llamar a timezone = timezone(os.environ['AWS_TIMEZONE']) seguido de actualizar now = datetime.now(timezone) . Cada región que implementó podría establecer un valor de variable diferente para AWS_TIMEZONE .

Sin embargo, recomendaría si pudiera almacenar cualquier fecha y hora en UTC , ya que genera menos confusión en torno a los problemas de la zona horaria y, en general, se considera una mejor práctica.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda