我使用 S3 SDK CPP ,并且具有以下情况:
在执行步骤4之前,我想检查该密钥在S3上是否确实存在。客户端无法下载不存在的文件。
我有一个AWS::S3Client
对象。我真的需要为此创建一个 TransferManager 还是有一种简单的方法来使用客户端对象来处理此问题?
客户端本身与 S3 没有关系,因此我无法在那里进行检查。服务器必须完成所有工作。
答案 0 :(得分:1)
针对该对象发出经过身份验证的HTTP HEAD请求。您可以使用:
引用:
HEAD操作从对象检索元数据而不返回 对象本身。如果您只感兴趣,此操作很有用 在对象的元数据中。要使用HEAD,您必须具有对 对象。
答案 1 :(得分:1)
我找到了一个结果:
auto client = Aws::MakeShared<Aws::S3::S3Client>("client", getCredentials(), getClientConfig());
Aws::S3::Model::HeadObjectRequest request;
request.WithBucket(<bucketname>).WithKey(<s3key>);
const auto res = client->HeadObject(request);
res.IsSuccess(); //Is key existing on s3?