当前,如果GetObjectMetaDataResponse
引发异常,则表示该对象不存在,则我制作一个GetObjectMetaDataRequest
。有没有更好的方法来检查文件是否存在而不下载文件。检查S3对象是否存在的最佳方法是什么?
5
A
回答
-1
是的。
您可以使用ListObjectsRequest。使用标记属性,并只检索1个元素。
1
没有ListObjectRequest,而是一个ListObjectsRequest,您无法指定Key。然后,你必须通过所有的对象来找到你想要的。我目前正在寻找它,因为我似乎在下载文件时出错。 (如果有人有一些想法如何解决,可随时发表评论)。
如果您碰巧知道上传ID,则可以尝试使用列表部件请求。
除此之外,我不知道。想与S3 api写个人聊天...
5
你可以使用S3FileInfo类和这个类的Exists方法它会帮助你检查文件是否存在,而不下载文件。例如下面的例子我使用了AWSSDK 3.1.6 .net(3.5):
public static bool ExistsFile()
{
BasicAWSCredentials basicCredentials = new BasicAWSCredentials("my access key", "my secretkey");
AmazonS3Config configurationClient = new AmazonS3Config();
configurationClient.RegionEndpoint = RegionEndpoint.EUCentral1;
try
{
using (AmazonS3Client clientConnection = new AmazonS3Client(basicCredentials, configurationClient))
{
S3FileInfo file = new S3FileInfo(clientConnection, "mybucket", "FolderNameUniTest680/FileNameUnitTest680");
return file.Exists;//if the file exists return true, in other case false
}
}
catch(Exception ex)
{
return false;
}
}
2
试试这个解决方案,它适用于我。
AmazonS3Client client = new AmazonS3Client(accessKey, secretKey, regionEndpoint);
S3FileInfo s3FileInfo = new S3FileInfo(client, bucketName, fileName);
if (s3FileInfo.Exists)
return true;
else
return false;
0
你可能不得不使用REST API自己,作为方法的建议,只是内部不完全一样的东西(的try ... catch关于请求)
相关问题
- 1. 什么是检查PDO是否存在的最佳方法
- 2. 检查PowerShell对象是否存在的最佳方法?
- 3. 检查对象属性是否为空的最佳方法是什么?
- 4. 轮询新S3对象的最佳方法是什么?
- 5. 检查视窗是否可见的最佳方法是什么?
- 6. 检查FileInputStream是否关闭的最佳方法是什么?
- 7. 检查属性是否存在并设置的最佳方法是什么?
- 8. 检查另一个字符串是否存在的最佳方法是什么?
- 9. LINQtoSQL:检查插入行是否存在的最佳方法是什么?
- 10. 检查数据是否存在于Django中的最佳方法是什么?
- 11. 检查javascript中是否存在子节点的最佳方法是什么?
- 12. 检查网站文件夹是否存在的最佳方法是什么?
- 13. 检查对象是否被更改的最佳做法是什么?
- 14. 检查实体框架中是否存在对象的最佳方法是什么?
- 15. 在Rails/Ruby中检查对象是否存在的正确方法是什么?
- 16. 检查对象是否存在的最快方法
- 17. 检测存储在Java对象中的原语的最佳方法是什么?
- 18. 检查r中对应关系的最佳方法是什么
- 19. 在Immutable.js对象中检查深层值的最佳方法是什么?
- 20. 检测IDataReader是否为空的最佳方法是什么?
- 21. 什么是检查时间是否在一定时间内的最佳方法?
- 22. 什么是检查IQueryable结果集的最佳方法是空
- 23. 检查DataReader中是否存在列的最佳方法
- 24. 检查电子邮件是否存在的最佳方法
- 25. 检查Javascript中是否存在变量的最佳方法?
- 26. 什么是检查MySQL中行存在的最佳方式
- 27. 检测对象是否保存在javafx桌面应用程序中的最佳方法是什么?
- 28. 在Memcached中存储ActiveRecord对象的最佳方式是什么?
- 29. 在redis中存储对象的最佳方式是什么?
- 30. 从响应中检查并分配给对象的最佳方法是什么?
这是一个错字。我更新了我的答案,以更详细地说明如何实现它。 – 2016-02-18 21:10:02