19
loading...
This website collects cookies to deliver better user experience
dynamodb.create_table(
TableName='ManejoSesion',
KeySchema=[
{
'AttributeName': 'Sesion_Id',
'KeyType': 'HASH' # Partition key
}
],
#Se deben crear las llaves nuevamente con su tipo de dato
AttributeDefinitions=[
{
'AttributeName': 'Sesion_Id',
'AttributeType': 'S' # Se utiliza S para tipos de datos String y N para numeros
}
],
ProvisionedThroughput={
'ReadCapacityUnits': 5,
'WriteCapacityUnits': 5
}
)
from datetime import datetime
from datetime import timedelta
import boto3
import os
import uuid
from decimal import Decimal
dynamo = boto3.resource("dynamodb")
tabla = dynamo.Table("ManejoSesion")
def obtener_vencimiento_sesion():
hora_fin_sesion = datetime.now() + timedelta(minutes = 5)
return Decimal(round(hora_fin_sesion.timestamp(),0))
sesion_id = uuid.uuid4().hex
sesion ={
"Sesion_Id":str(sesion_id),
"Expire_Session":obtener_vencimiento_sesion()
}
tabla.put_item(Item=sesion)
hora = Decimal(round(datetime.now().timestamp(),0))
tabla.query(KeyConditionExpression=Key("Sesion_Id").eq("b05ce2de320a4cddbcc1fa64400d14c9"),
FilterExpression= 'Expire_Session >= :Expire_Session' ,
ExpressionAttributeValues= {
':Expire_Session': hora
})