in sample/PresignGetObject/Program.cs [26:69]
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 bucket = option.Bucket;
var endpoint = option.Endpoint;
var key = option.Key;
// 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 = client.Presign(new OSS.Models.GetObjectRequest()
{
Bucket = bucket,
Key = key,
});
using var hc = new HttpClient();
var httpResult = await hc.GetAsync(result.Url);
var stream = await httpResult.Content.ReadAsStreamAsync();
using var reader = new StreamReader(stream);
var got = await reader.ReadToEndAsync();
Console.WriteLine("GetObject done");
Console.WriteLine($"StatusCode: {httpResult.StatusCode}");
}