amazon-timestream - 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。
它是如此新的文档甚至没有涵盖它。
谢谢
解决方案
在 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()
这会在执行写入请求之前删除空维度。
只要维度不存在而不是为空,就可以进行写入请求。
推荐阅读
- continuous-integration - Gerrit Checks 插件 - 如何使用 API 创建/更新检查器以进行 gerrit 更改
- r - 如何在 R 中的特定 x 值上绘制箱线图?
- java - 关于 Java Runtime.getRuntime().exec(command) 的不完整输出
- javascript - 如何显示新添加的数据?
- git - Tags trigger not working in azure pipelines
- powershell - 使用 PowerShell 脚本输出的注册表键值匹配字符串值
- android - Azure Pipeline 基于指定的 android 风格运行任务
- ruby - 新 Stripe Checkout 的单元测试
- python - 在硒中无效提交后如何检测错误
- visual-studio-2019 - 构建失败,但错误列表中未显示错误(visual studio 2019)