检查是否存在S3密钥而不会引发异常

时间:2018-08-27 15:30:18

标签: amazon-s3 .net-core aws-sdk

在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。

谢谢。

0 个答案:

没有答案