gpt4 book ai didi

amazon-web-services - AWS S3 SDK ListObjectsV2 startafter 和 ContinuationToken 有什么区别?

转载 作者:行者123 更新时间:2023-12-04 16:41:54 27 4
gpt4 key购买 nike

我正在使用 Aws::S3::Model::ListObjectsV2Request列出 AWS s3 中的对象。

(它是 c++ sdk,但我想实现与 Java 相同,所以如果您熟悉 Java AWS S3 sdk,请查看我的问题)

有超过 1000 个对象,因此根据 SDK 1000 条记录限制不能放在一页中。

我发现两个 API 似乎都可以合理地处理这个问题。
1.

// pseudo code
list_req
all_res = []
while true {
res = list_req.request()
all_res.add(res.get_all_entries())
if (res.isTruncated()) {
list_req.set_continuation_token(res.get_continuation_token());
}
}



2.
// pseudo code
list_req
all_res = []
while true {
res = list_req.request()
all_res.add(res.get_all_entries())
if (res.isTruncated()) {
list_req.set_start_after(res.get_last_entry());
}
}

这两种方法有什么区别? (我的情况是第一种方法会出现异常 The continuation token provided is incorrect with address : 52.218.217.49 ,所以我只能使用第二种方法。)

最佳答案

StartAfter (string) -- StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts listing after this specified key. StartAfter can be any key in the bucket.

ContinuationToken (string) -- ContinuationToken indicates Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key.


因此,如果您想从以 G 开头的对象开始列出存储桶,然后使用 StartAfter = 'G' . ContinuationToken当返回超过 1000 个结果时使用。在这种情况下,响应会提供 ContinuationToken你必须传递到下一个电话。结果将从上次列表结束的地方继续。
如果要从特定名称开始并检索 1000 多个对象,您可以指定这两个参数。

关于amazon-web-services - AWS S3 SDK ListObjectsV2 startafter 和 ContinuationToken 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59203291/

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