Skip to content

Commit 7750793

Browse files
committed
Updates for error handling in S3 basics example for .NET v3.
1 parent c8d8209 commit 7750793

File tree

2 files changed

+22
-19
lines changed

2 files changed

+22
-19
lines changed

dotnetv3/S3/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,23 +42,23 @@ Code excerpts that show you how to call individual service functions.
4242

4343
- [CopyObject](CopyObjectExample/CopyObject.cs#L11)
4444
- [CreateBucket](S3_Basics/S3Bucket.cs#L12)
45-
- [DeleteBucket](S3_Basics/S3Bucket.cs#L266)
45+
- [DeleteBucket](S3_Basics/S3Bucket.cs#L264)
4646
- [DeleteBucketCors](s3CORSExample/S3CORS.cs#L147)
4747
- [DeleteBucketLifecycle](LifecycleExample/Lifecycle.cs#L192)
4848
- [DeleteObject](non-versioned-examples/DeleteObjectExample/DeleteObject.cs#L6)
49-
- [DeleteObjects](S3_Basics/S3Bucket.cs#L221)
49+
- [DeleteObjects](S3_Basics/S3Bucket.cs#L219)
5050
- [GetBucketAcl](BucketACLExample/BucketACL.cs#L75)
5151
- [GetBucketCors](s3CORSExample/S3CORS.cs#L125)
5252
- [GetBucketEncryption](PutBucketEncryption/ServerSideEncryption/ServerSideEncryption.cs#L107)
5353
- [GetBucketLifecycleConfiguration](LifecycleExample/Lifecycle.cs#L169)
5454
- [GetBucketWebsite](WebsiteConfigExample/WebsiteConfig.cs#L72)
55-
- [GetObject](S3_Basics/S3Bucket.cs#L85)
55+
- [GetObject](S3_Basics/S3Bucket.cs#L83)
5656
- [GetObjectLegalHold](scenarios/S3ObjectLockScenario/S3ObjectLockWorkflow/S3ActionsWrapper.cs#L259)
5757
- [GetObjectLockConfiguration](scenarios/S3ObjectLockScenario/S3ObjectLockWorkflow/S3ActionsWrapper.cs#L290)
5858
- [GetObjectRetention](scenarios/S3ObjectLockScenario/S3ObjectLockWorkflow/S3ActionsWrapper.cs#L193)
5959
- [ListBuckets](ListBucketsExample/ListBuckets.cs#L4)
6060
- [ListObjectVersions](versioned-examples/ListObjectVersionsExample/ListObjectVersions.cs#L6)
61-
- [ListObjectsV2](S3_Basics/S3Bucket.cs#L171)
61+
- [ListObjectsV2](S3_Basics/S3Bucket.cs#L169)
6262
- [PutBucketAccelerateConfiguration](TransferAccelerationExample/TransferAcceleration.cs#L6)
6363
- [PutBucketAcl](BucketACLExample/BucketACL.cs#L37)
6464
- [PutBucketCors](s3CORSExample/S3CORS.cs#L104)

dotnetv3/S3/S3_Basics/S3Bucket.cs

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -60,22 +60,20 @@ public static async Task<bool> UploadFileAsync(
6060
string objectName,
6161
string filePath)
6262
{
63-
var request = new PutObjectRequest
63+
try
6464
{
65-
BucketName = bucketName,
66-
Key = objectName,
67-
FilePath = filePath,
68-
};
65+
var request = new PutObjectRequest
66+
{
67+
BucketName = bucketName, Key = objectName, FilePath = filePath,
68+
};
6969

70-
var response = await client.PutObjectAsync(request);
71-
if (response.HttpStatusCode == System.Net.HttpStatusCode.OK)
72-
{
70+
await client.PutObjectAsync(request);
7371
Console.WriteLine($"Successfully uploaded {objectName} to {bucketName}.");
7472
return true;
7573
}
76-
else
74+
catch (AmazonS3Exception ex)
7775
{
78-
Console.WriteLine($"Could not upload {objectName} to {bucketName}.");
76+
Console.WriteLine($"Could not upload {objectName} to {bucketName}: '{ex.Message}'");
7977
return false;
8078
}
8179
}
@@ -274,13 +272,18 @@ public static async Task<bool> DeleteBucketContentsAsync(IAmazonS3 client, strin
274272
/// the delete operation.</returns>
275273
public static async Task<bool> DeleteBucketAsync(IAmazonS3 client, string bucketName)
276274
{
277-
var request = new DeleteBucketRequest
275+
try
278276
{
279-
BucketName = bucketName,
280-
};
277+
var request = new DeleteBucketRequest { BucketName = bucketName, };
281278

282-
var response = await client.DeleteBucketAsync(request);
283-
return response.HttpStatusCode == System.Net.HttpStatusCode.OK;
279+
await client.DeleteBucketAsync(request);
280+
return true;
281+
}
282+
catch (AmazonS3Exception ex)
283+
{
284+
Console.WriteLine($"Error deleting bucket: {ex.Message}");
285+
return false;
286+
}
284287
}
285288

286289
// snippet-end:[S3.dotnetv3.S3_Basics-DeleteBucket]

0 commit comments

Comments
 (0)