为什么删除后 WaitUntilObjectNotExists?

我正在查看 aws sdk-for-go 开发人员指南以删除对象。


示例代码


_, err = svc.DeleteObject(&s3.DeleteObjectInput{Bucket: aws.String(bucket), Key: aws.String(obj)})

if err != nil {

    exitErrorf("Unable to delete object %q from bucket %q, %v", obj, bucket, err)

}


err = svc.WaitUntilObjectNotExists(&s3.HeadObjectInput{

    Bucket: aws.String(bucket),

    Key:    aws.String(obj),

})

如上所示,该示例调用删除对象 API,然后等待对象不存在

我有以下与此相关的问题:

  1. 调用delete API后为什么要等待检查是否被删除?

  2. 多久等待检查?(什么是最大窗口?)。它多久检查一次?

在 AWS 文档中找不到任何回答此问题的内容。


料青山看我应如是
浏览 185回答 2
2回答

有只小跳蛙

正如前面的答案所提到的,与 v1 SDK 相比,v2 SDK 中的服务员似乎更少。但是,这可能不是 SDK 的作者完全深思熟虑的选择。人们似乎在这里和这里要求了其他一些服务员。如果您看到 v2 SDK 中缺少一个服务员,那么它可能还没有被移植过来。

浮云间

你会很高兴知道在 Go V2 中不存在这样的服务员。它仅在对象存在时提供服务员,这是您在创建资源时需要的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go