什么是版本 2 Ruby SDK 中的响应分页?

What is Response Paging in Version 2 Ruby SDK?

我正在尝试解析 describe_instances api 来自 Aws::EC2::Client 的回复。但是 aws ruby sdk 的版本 2 带有响应分页功能。

我不明白这是什么!

响应分页是一项功能,您可以在其中枚举对 API 的调用,一次产生一个响应,直到收到所有结果。这对于 API 调用 return 大量数据可能 非常 重要,例如枚举 Amazon S3 中存储桶中的对象。

ec2 = Aws::EC2::Client.new
ec2.describe_instances.each do |response|
  # do something with the response
end

如果没有响应寻呼,你将不得不做这样的事情:

ec2 = Aws::EC2::Client.new
token = nil
begin
  resp = ec2.describe_instances(next_token: nil)
  # do something with the response ...
  token = resp.next_token 
while token

一些 API 有更复杂的分页要求。响应分页无需了解每个 API 调用的分页要求,并提供响应的 #each 方法。