public static async Task Main()

in sample/GetObject/Program.cs [24: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 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);

            // default is streaming mode
            var result = await client.GetObjectAsync(new OSS.Models.GetObjectRequest()
            {
                Bucket = bucket,
                Key = key,
            });

            // real all data into memory
            //var result = await client.GetObjectAsync(new OSS.Models.GetObjectRequest() {
            //    Bucket = bucket,
            //    Key = key,
            //},System.Net.Http.HttpCompletionOption.ResponseContentRead);

            using var body = result.Body;
            var reader = new StreamReader(body!);
            var data = reader.ReadToEnd();

            Console.WriteLine("GetObject 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));
        }