在Lambda / .Net Core 2.1中,我需要检查是否存在S3密钥:
try
{
using (var response = await _client.GetObjectAsync(getRequest))
using (var streamReader = new StreamReader(response.ResponseStream))
using (var sr = new JsonTextReader(streamReader))
{
existingMods = _jsonSerializer.Deserialize<List<Modification>>(sr);
}
}
catch(AmazonS3Exception e)
{
if (e.StatusCode == System.Net.HttpStatusCode.NotFound)
{
existingMods = new List<Modification>();
}
else
{
throw;
}
}
它可以工作,但是问题在于该处理的异常是在AWS XRay中报告的,这将是一个问题。
有没有一种方法可以检查S3密钥是否存在而不会引发异常?我在Amazon.S3.IO(例如S3DirectionInfo)名称空间中看到了对对象的引用,但似乎该名称空间仅在Framework 4.5中,并且我使用.NET Core 2.1。
谢谢。