小编Kal*_*rad的帖子

如何避免在AWS云跟踪API调用中获得较旧的结果

我们使用AWS Cloud Trail来检索数据(云跟踪事件).我们使用了gem'aws-sdk-cloudtrail'(版本1.0).根据Cloud Trail,我们可以检索最多50个结果(最新一次).要获取之前的(较旧的一次)结果,我们使用前一个响应中收到的"next-token".我们执行此操作直到获得一个空的"下一个令牌".当我们收到空令牌时,表示已检索到所有云踪迹数据.

例如:假设Cloud Trail记录了100个事件:在第一个api调用中,我们收到了最新的50个结果以及用于检索下一个50(旧版50)的令牌.在第二次api调用中,我们收到剩余的50个结果(较旧的结果)以及下一个标记为nil.这意味着无法获取更多结果.

在我们的例子中,我们将保存从本地数据库中收到的所有结果.我们会定期重复此操作.当第二次这样做时(重复上面说明的过程),我们再次收到一些较新的和较少的旧结果.我们再次重复API调用,直到我们将'next-token'设为nil.这导致接收在执行第一个循环时已经存储在数据库中的冗余数据.有没有办法在第二个周期内只获得新记录的云跟踪事件.

amazon-web-services amazon-cloudtrail aws-sdk

5
推荐指数
1
解决办法
136
查看次数

何时在ruby中使用send和public_send方法?

send 可用于调用公共方法和私有方法.

例:

class Demo
  def public_method
    p "public_method" 
  end

  private

  def private_method
    p "private_method" 
  end
end

Demo.new.send(:private_method)
Demo.new.send(:public_method)
Run Code Online (Sandbox Code Playgroud)

然后在哪里和为什么使用public_send

ruby

3
推荐指数
1
解决办法
1943
查看次数