首页 > 解决方案 > AWS Timestream DB - 存储空值 - Python

问题描述

只是想知道是否有人研究出如何在时间流数据库中存储空值:

我有以下代码:

                dimensions = [ 
                   {'Name': 'gatewayId', 'Value': gatewayId}                   
                  ]

                 connectedDays = { 
                   'Dimensions': dimensions, 
                   'MeasureName': 'connectedDays', 
                   'MeasureValue': str(data[3]), 
                   'MeasureValueType': 'BIGINT', 
                   'Time': current_time 
                    }

gatewayId 或 data[3] 可以是任何空字符串,并且需要在数据库中存储一个空值,但我不确定如何执行此操作。我试过通过各种方式,比如 None (等),但 AWS 时间流每次都会抱怨。

我正在使用python。

它是如此新的文档甚至没有涵盖它。

谢谢

标签: amazon-timestream

解决方案


在 kotlin 中,我们可以进行一些过滤以使其工作:

    val dimensions = listOf(
        Dimension.builder().name("principal").value(auditLogData.principal).build(),
        if (auditLogData.customerAccount.isNotEmpty()) Dimension.builder().name("customerAccount").value(auditLogData.customerAccount).build() else null,
        if (auditLogData.resourceId.isNotEmpty()) Dimension.builder().name("resourceId").value(auditLogData.resourceId).build() else null
    ).filterNotNull()

这会在执行写入请求之前删除空维度。

只要维度不存在而不是为空,就可以进行写入请求。


推荐阅读