in sample/CopyObject/Program.cs [31:75]
public static async Task Main(string[] args)
{
var parserResult = Parser.Default.ParseArguments<Options>(args);
if (parserResult.Errors.Any())
{
Environment.Exit(1);
}
var option = parserResult.Value;
// Specify the region and other parameters.
var region = option.Region;
var endpoint = option.Endpoint;
var srcBucket = option.SrcBucket;
var srcKey = option.SrcKey;
var dstBucket = option.DstBucket;
var dstKey = option.DstKey;
// Using the SDK's default configuration
// loading credentials values from the environment variables
var cfg = OSS.Configuration.LoadDefault();
cfg.CredentialsProvider = new OSS.Credentials.EnvironmentVariableCredentialsProvider();
cfg.Region = region;
if (endpoint != null)
{
cfg.Endpoint = endpoint;
}
using var client = new OSS.Client(cfg);
var result = await client.CopyObjectAsync(new OSS.Models.CopyObjectRequest()
{
Bucket = dstBucket,
Key = dstKey,
SourceBucket = srcBucket,
SourceKey = srcKey
});
Console.WriteLine("CopyObject done");
Console.WriteLine($"StatusCode: {result.StatusCode}");
Console.WriteLine($"RequestId: {result.RequestId}");
Console.WriteLine("Response Headers:");
result.Headers.ToList().ForEach(x => Console.WriteLine(x.Key + " : " + x.Value));
}