using System.Collections.Generic;
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 objectContent = "Hello TOS";
var objectKey = "example_dir/example.txt";
var client = TosClientBuilder.Builder().SetAk(ak).SetSk(sk).SetEndpoint(endpoint).SetRegion(region).Build();
var binaryData = Encoding.UTF8.GetBytes(objectContent);
using (var requestContent = new MemoryStream(binaryData))
var putObjectInput = new PutObjectInput
ACL = ACLType.ACLPrivate,
StorageClass = StorageClassType.StorageClassIa,
Meta = new Dictionary<string, string> { { "key", "value" } },
Content = requestContent
var putObjectOutput = client.PutObject(putObjectInput);
Console.WriteLine("Put object succeeded, ETag: {0} ", putObjectOutput.ETag);
catch (TosServerException ex)
Console.WriteLine("Put object failed, request id {0}", ex.RequestID);
Console.WriteLine("Put object failed, status code {0}", ex.StatusCode);
Console.WriteLine("Put object failed, response error code {0}", ex.Code);
Console.WriteLine("Put object failed, response error message {0}", ex.Message);
catch (TosClientException ex)
Console.WriteLine("Put object failed, error message {0}", ex.Message);
Console.WriteLine("Put object failed, {0}", ex.Message);