java - 如何在基于 Java 的 DynamoDB 应用程序中设置 TTL

标签 java amazon-web-services amazon-dynamodb

您好,我需要通过 AWS Java SDK 以编程方式为 DynamoDB 中的表设置时间。是否可以?我知道最近引入了 TTL 功能 - http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html

更新: 没有特殊的注释,但是我们可以手动完成:

@DynamoDBAttribute
private long ttl;

并在 AWS 中将其配置为 ttl - http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/time-to-live-ttl-how-to.html

long now = Instant.now().getEpochSecond(); // unix time
long ttl = 60 * 60 * 24; // 24 hours in sec
setTtl(ttl + now); // when object will be expired

最佳答案

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/time-to-live-ttl-how-to.html

    public void function(final AmazonDynamoDB client, final String tableName, final String ttlField){

        //table created now enabling TTL
        final UpdateTimeToLiveRequest req = new UpdateTimeToLiveRequest();
        req.setTableName(tableName);

        final TimeToLiveSpecification ttlSpec = new TimeToLiveSpecification();
        ttlSpec.setAttributeName(ttlField);
        ttlSpec.setEnabled(true);
        req.withTimeToLiveSpecification(ttlSpec);

        client.updateTimeToLive(req);
    }

关于java - 如何在基于 Java 的 DynamoDB 应用程序中设置 TTL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42812415/

相关文章:

java - 当单击我的按钮时,应用程序停止并在 android java 中出现错误

java - 为什么 Java bufferedreader 在输出大型文本文件中丢失了很多行作为输入?

java - 是否可以在 heroku 上以测试模式启动 Play 框架

amazon-web-services - 如何将运动视频流存储到 S3 存储桶中?

java - AWS Lambda 调用异常 "No LambdaFunction annotation for method invoke"

java - 亚马逊云数据库 : Could not unconvert attribute error

java - 如何查询DynamoDB并返回第一个匹配结果而不是查询整个集合?

java - Hibernate:级联问题

amazon-web-services - EC2 Spot 实例容量池

c# - 如何使用对象持久性模型在 C# 中动态更改 dynamodb 表名