gpt4 book ai didi

c# - Windows Azure 每天创建表

转载 作者:行者123 更新时间:2023-12-03 06:00:28 26 4
gpt4 key购买 nike

我正在使用 Azure 存储来保存日志(表“LOGS”),但日志量不断增长,因此我想每天创建一个表来删除旧日志。另外,我想以简单的方式删除旧日志(据我所知,没有机会通过分区键删除项目)。

我的问题是:如何每天以编程方式创建新的存储表?

最佳答案

考虑到您希望将一天的数据记录在单独的表中的情况,有多种方法可以实现。

  • 按需创建表:在这种方法中,您实际上会检查当天的表是否不存在,并在插入日志数据之前创建它。但是,不建议这样做,因为每次要写入一些日志数据时,您都会执行此任务,尽管这是最简单的方法。
  • 提前创建表格:在这种方法中,您实际上是提前为 future 几天(比如 5 天)创建表格。例如,请参阅下面的代码:

        var account = new CloudStorageAccount(new StorageCredentials(accountName, accountKey), true);
    var tableClient = account.CreateCloudTableClient();
    var currentDate = DateTime.UtcNow.Date;
    for (var i = 0; i < 5; i++)
    {
    var tableName = string.Format("Logs{0}", currentDate.AddDays(i).ToString("yyyyMMdd"));
    var table = tableClient.GetTableReference(tableName);
    table.CreateIfNotExists();
    }

现在您可以使用此代码创建一个 WebJob 并使其每天在午夜过后 1 秒运行。因此,您每天都会创建 future 5 天的日志表。

Also I want to remove old logs in easy way (as far I I know there is no opportunity to remove item by partition key).

通过这种每天保留单独表格的方法,删除变得更加容易。您只需删除该表即可完成。

关于c# - Windows Azure 每天创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32185164/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com