public async Task <bool> DeleteFile(string bucket, string key, bool ensureDelete = true)
        {
            try
            {
                if (ensureDelete)
                {
                    // will throw error if object does not exist
                    await S3.GetObjectMetadataAsync(bucket, key).ConfigureAwait(false);
                }

                await S3.DeleteObjectAsync(bucket, key).ConfigureAwait(false);

                return(true);
            }
            catch
            {
                return(false);
            }
        }
예제 #2
0
        public async void awsDeleteFile(string name, Label lbl)
        {
            var s3 = new S3(key, secret);

            var bucket = "ahsscoutphotos";

            try
            {
                await s3.DeleteObjectAsync(bucket, name);

                System.Diagnostics.Debug.WriteLine("Success");
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message);
                //return false;
            }
            //return true;
        }
예제 #3
0
        protected override void OnCreate(Bundle bundle)
        {
            var re =
                (HttpWebRequest)
                WebRequest.Create(string.Format("http://{0}.s3.amazonaws.com/{1}", "bucket", "name"));

            re.AllowWriteStreamBuffering = false;


            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            // Get our button from the layout resource,
            // and attach an event to it
            Button button = FindViewById <Button>(Resource.Id.MyButton);

            button.Click += async delegate
            {
                button.Text = "In progress";
                string key    = "AKIAIFT26MYLVAFP7QXQ";
                string secret = "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";
                var    random = new Random();
                var    s3     = new S3(key, secret);

                var bucket = "ahsscoutphotos";

                try
                {
                    await s3.CreateBucketAsync(bucket);

                    button.Text = String.Format("Bucket {0} created", bucket);

                    await s3.PutObjectAsync(bucket, "myobject", "Hello World");

                    button.Text = String.Format("Object myobject created");

                    var s = await s3.GetObjectAsStringAsync(bucket, "myobject");

                    button.Text = String.Format("{0} read", s);

                    await s3.DeleteObjectAsync(bucket, "myobject");

                    button.Text = String.Format("Object myobject deleted");

                    var dummyData = new byte[1000000];
                    await s3.PutObjectAsync(bucket, "big", dummyData, progress : l => button.Text = string.Format("Upload {0}%", (100 * l) / dummyData.Length));

                    await s3.DeleteObjectAsync(bucket, "big");

                    await s3.DeleteBucketAsync(bucket);

                    button.Text = String.Format("Empty bucket {0} deleted", bucket);


                    button.Text = "Success";
                }
                catch (S3Exception ex)
                {
                    new AlertDialog.Builder(this)
                    .SetPositiveButton("Ok", (_, __) => { })
                    .SetMessage(ex.Message)
                    .SetTitle("Error")
                    .Show();

                    button.Text = "Click me";
                }
            };
        }