using System.Threading.Tasks;
namespace Amazon.DocSamples.S3
private const string bucketName = "filebase-bucket-name";
private const string keyName = "object-name";
private static IAmazonS3 client;
public static void Main()
string accessKey = "filebase-access-key";
string secretKey = "filebase-secret-key";
AmazonS3Config config = new AmazonS3Config()
ServiceURL = string.Format("<https://s3.filebase.com:443>"),
ProxyHost = "s3.filebase.com",
client = new AmazonS3Client(config);
ReadObjectDataAsync().Wait();
static async Task ReadObjectDataAsync()
string responseBody = "";
GetObjectRequest request = new GetObjectRequest
using (GetObjectResponse response = await client.GetObjectAsync(request))
using (Stream responseStream = response.ResponseStream)
using (StreamReader reader = new StreamReader(responseStream))
string title = response.Metadata["x-amz-meta-title"]; // Assume you have "title" as medata added to the object.
string contentType = response.Headers["Content-Type"];
Console.WriteLine("Object metadata, Title: {0}", title);
Console.WriteLine("Content type: {0}", contentType);
responseBody = reader.ReadToEnd(); // Now you process the response body.
catch (AmazonS3Exception e)
// If bucket or object does not exist
Console.WriteLine("Error encountered ***. Message:'{0}' when reading object", e.Message);
Console.WriteLine("Unknown encountered on server. Message:'{0}' when reading object", e.Message);