private static void Main(string[] args)
var ak = Environment.GetEnvironmentVariable("TOS_ACCESS_KEY");
var sk = Environment.GetEnvironmentVariable("TOS_SECRET_KEY");
var endpoint = "https://tos-cn-beijing.volces.com";
var region = "cn-beijing";
var bucketName = "*** Provide your bucket name ***";
var objectKey = "example_dir/example.txt";
var date = new DateTime(2022, 10, 24, 0, 0, 0, DateTimeKind.Utc);
var client = TosClientBuilder.Builder().SetAk(ak).SetSk(sk).SetEndpoint(endpoint).SetRegion(region).Build();
var getObjectInput = new GetObjectInput
var getObjectOutput = client.GetObject(getObjectInput);
using (var reader = new StreamReader(getObjectOutput.Content))
Console.WriteLine("GetObject succeeded, content {0}", reader.ReadToEnd());
getObjectOutput.Content.Close();
catch (TosServerException ex)
if (ex.StatusCode == 304)
Console.WriteLine("Object not modify, request id {0}", ex.RequestID);
Console.WriteLine("GetObject failed, request id {0}", ex.RequestID);
Console.WriteLine("GetObject failed, status code {0}", ex.StatusCode);
Console.WriteLine("GetObject failed, response error code {0}", ex.Code);
Console.WriteLine("GetObject failed, response error message {0}", ex.Message);
catch (TosClientException ex)
Console.WriteLine("GetObject failed, error message {0}", ex.Message);
Console.WriteLine("GetObject failed, {0}", ex.Message);
var getObjectInput = new GetObjectInput
IfUnmodifiedSince = date
var getObjectOutput = client.GetObject(getObjectInput);
using (var reader = new StreamReader(getObjectOutput.Content))
Console.WriteLine("GetObject succeeded, content {0}", reader.ReadToEnd());
getObjectOutput.Content.Close();
catch (TosServerException ex)
if (ex.StatusCode == 412)
Console.WriteLine("Object modify, request id {0}", ex.RequestID);
Console.WriteLine("GetObject failed, request id {0}", ex.RequestID);
Console.WriteLine("GetObject failed, status code {0}", ex.StatusCode);
Console.WriteLine("GetObject failed, response error code {0}", ex.Code);
Console.WriteLine("GetObject failed, response error message {0}", ex.Message);
catch (TosClientException ex)
Console.WriteLine("GetObject failed, error message {0}", ex.Message);
Console.WriteLine("GetObject failed, {0}", ex.Message);