Beispiel #1
0
        /// 设置存储桶静态网站
        public void PutBucketWebsite()
        {
            //.cssg-snippet-body-start:[put-bucket-website]
            try
            {
                string bucket = "examplebucket-1250000000"; //格式:BucketName-APPID
                PutBucketWebsiteRequest putRequest = new PutBucketWebsiteRequest(bucket);
                putRequest.SetIndexDocument("index.html");
                putRequest.SetErrorDocument("eroror.html");
                putRequest.SetRedirectAllRequestTo("index.html");
                PutBucketWebsiteResult putResult = cosXml.putBucketWebsite(putRequest);

                //请求成功
                Console.WriteLine(putResult.GetResultInfo());
            }
            catch (COSXML.CosException.CosClientException clientEx)
            {
                //请求失败
                Console.WriteLine("CosClientException: " + clientEx);
            }
            catch (COSXML.CosException.CosServerException serverEx)
            {
                //请求失败
                Console.WriteLine("CosServerException: " + serverEx.GetInfo());
            }
            //.cssg-snippet-body-end
        }
Beispiel #2
0
        /// <summary>
        /// This method first adds and then checks the configuration for a
        /// static website in an Amazon S3 bucket.
        /// </summary>
        /// <param name="client">The Amazon S3 client used to add and then check the
        /// website configuration.</param>
        /// <param name="bucketName">The name of the bucket that will serve as
        /// a static website.</param>
        /// <param name="indexDocumentSuffix">The index document suffix for the
        /// website.</param>
        /// <param name="errorDocument">The name of the error document for the
        /// static website.</param>
        public static async Task AddWebsiteConfigurationAsync(
            IAmazonS3 client,
            string bucketName,
            string indexDocumentSuffix,
            string errorDocument)
        {
            try
            {
                // Put the website configuration.
                PutBucketWebsiteRequest putRequest = new PutBucketWebsiteRequest()
                {
                    BucketName           = bucketName,
                    WebsiteConfiguration = new WebsiteConfiguration()
                    {
                        IndexDocumentSuffix = indexDocumentSuffix,
                        ErrorDocument       = errorDocument,
                    },
                };
                PutBucketWebsiteResponse response = await client.PutBucketWebsiteAsync(putRequest);

                // Get the website configuration.
                GetBucketWebsiteRequest getRequest = new GetBucketWebsiteRequest()
                {
                    BucketName = bucketName,
                };
                GetBucketWebsiteResponse getResponse = await client.GetBucketWebsiteAsync(getRequest);

                Console.WriteLine($"Index document: {getResponse.WebsiteConfiguration.IndexDocumentSuffix}");
                Console.WriteLine($"Error document: {getResponse.WebsiteConfiguration.ErrorDocument}");
            }
            catch (AmazonS3Exception ex)
            {
                Console.WriteLine($"Error encountered on server. Message:'{ex.Message}' when writing an object.");
            }
        }
Beispiel #3
0
        public async Task <GenericResponse> AddWebsiteConfigurationAsync(string bucketName, string indexDocumentSuffix, string errorDocument)
        {
            var result = new GenericResponse();

            try
            {
                // 1. Put the website configuration.
                PutBucketWebsiteRequest putRequest = new PutBucketWebsiteRequest()
                {
                    BucketName           = bucketName,
                    WebsiteConfiguration = new WebsiteConfiguration()
                    {
                        IndexDocumentSuffix = indexDocumentSuffix,
                        ErrorDocument       = errorDocument
                    }
                };
                PutBucketWebsiteResponse response = await _client.PutBucketWebsiteAsync(putRequest);

                // 2. Get the website configuration.
                GetBucketWebsiteRequest getRequest = new GetBucketWebsiteRequest()
                {
                    BucketName = bucketName
                };
                GetBucketWebsiteResponse getResponse = await _client.GetBucketWebsiteAsync(getRequest);

                Console.WriteLine("Index document: {0}", getResponse.WebsiteConfiguration.IndexDocumentSuffix);
                Console.WriteLine("Error document: {0}", getResponse.WebsiteConfiguration.ErrorDocument);
                result.Text   = "SUCCESS";
                result.Value  = bucketName;
                result.Status = "OK";
            }
            catch (AmazonS3Exception e)
            {
                result.Text   = e.Message;
                result.Value  = e.StackTrace;
                result.Status = "ERROR";
            }
            catch (Exception e)
            {
                result.Text   = e.Message;
                result.Value  = e.StackTrace;
                result.Status = "ERROR";
            }
            return(result);
        }
        private async Task <PutBucketWebsiteResponse> makeAwsS3BucketWebsite(string bucketName)
        {
            logger.LogInformation($"Turning S3 bucket '{ bucketName }' into website...");

            PutBucketWebsiteRequest request = new PutBucketWebsiteRequest
            {
                BucketName           = bucketName,
                WebsiteConfiguration = new WebsiteConfiguration
                {
                    IndexDocumentSuffix = "index.html",
                    ErrorDocument       = "index.html"
                }
                //raises error if you specify us-east-1 region, but goes there if you don't specify it.
            };

            PutBucketWebsiteResponse bucket = await TheS3Client().PutBucketWebsiteAsync(request);

            return(bucket);
        }
        static async Task AddWebsiteConfigurationAsync(string bucketName,
                                                       string indexDocumentSuffix,
                                                       string errorDocument)
        {
            try
            {
                // 1. Put the website configuration.
                PutBucketWebsiteRequest putRequest = new PutBucketWebsiteRequest()
                {
                    BucketName           = bucketName,
                    WebsiteConfiguration = new WebsiteConfiguration()
                    {
                        IndexDocumentSuffix = indexDocumentSuffix,
                        ErrorDocument       = errorDocument
                    }
                };
                PutBucketWebsiteResponse response = await client.PutBucketWebsiteAsync(putRequest);

                // 2. Get the website configuration.
                GetBucketWebsiteRequest getRequest = new GetBucketWebsiteRequest()
                {
                    BucketName = bucketName
                };
                GetBucketWebsiteResponse getResponse = await client.GetBucketWebsiteAsync(getRequest);

                Console.WriteLine("Index document: {0}", getResponse.WebsiteConfiguration.IndexDocumentSuffix);
                Console.WriteLine("Error document: {0}", getResponse.WebsiteConfiguration.ErrorDocument);
            }
            catch (AmazonS3Exception e)
            {
                Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message);
            }
        }
Beispiel #6
0
        public void TestBucketWebsite()
        {
            try
            {
                PutBucketWebsiteRequest putRequest = new PutBucketWebsiteRequest(bucket);

                putRequest.SetIndexDocument("index.html");
                putRequest.SetErrorDocument("eroror.html");
                putRequest.SetRedirectAllRequestTo("https");

                var rule = new WebsiteConfiguration.RoutingRule();
                rule.contidion = new WebsiteConfiguration.Contidion();
                // HttpErrorCodeReturnedEquals 与 KeyPrefixEquals 必选其一
                // 只支持配置4XX返回码,例如403或404
                rule.contidion.httpErrorCodeReturnedEquals = 404;
                // rule.contidion.keyPrefixEquals = "test.html";

                rule.redirect          = new WebsiteConfiguration.Redirect();
                rule.redirect.protocol = "https";
                // ReplaceKeyWith 与 ReplaceKeyPrefixWith 必选其一
                // rule.redirect.replaceKeyPrefixWith = "aaa";
                rule.redirect.replaceKeyWith = "bbb";
                putRequest.SetRoutingRules(new List <WebsiteConfiguration.RoutingRule>()
                {
                    rule
                });

                PutBucketWebsiteResult putResult = cosXml.PutBucketWebsite(putRequest);

                Assert.IsTrue(putResult.httpCode == 200);

                QCloudServer.TestWithServerFailTolerance(() =>
                {
                    GetBucketWebsiteRequest getRequest = new GetBucketWebsiteRequest(bucket);

                    GetBucketWebsiteResult getResult = cosXml.GetBucketWebsite(getRequest);
                    // Console.WriteLine(getResult.GetResultInfo());
                    Assert.IsNotEmpty((getResult.GetResultInfo()));

                    WebsiteConfiguration configuration = getResult.websiteConfiguration;

                    Assert.NotNull(configuration);
                    Assert.NotNull(configuration.indexDocument);
                    Assert.NotNull(configuration.indexDocument.suffix);
                    Assert.NotNull(configuration.errorDocument);
                    Assert.NotNull(configuration.redirectAllRequestTo);
                    Assert.NotNull(configuration.redirectAllRequestTo.protocol);
                    Assert.NotZero(configuration.routingRules.Count);
                    Assert.NotNull(configuration.routingRules[0].contidion);
                    Assert.NotNull(configuration.routingRules[0].contidion.httpErrorCodeReturnedEquals);
                    // Assert.NotNull(configuration.routingRules[0].contidion.keyPrefixEquals);
                    Assert.NotNull(configuration.routingRules[0].redirect);
                    Assert.NotNull(configuration.routingRules[0].redirect.protocol);
                    // Assert.NotNull(configuration.routingRules[0].redirect.replaceKeyPrefixWith);
                    Assert.NotNull(configuration.routingRules[0].redirect.replaceKeyWith);

                    DeleteBucketWebsiteRequest deleteRequest = new DeleteBucketWebsiteRequest(bucket);

                    DeleteBucketWebsiteResult deleteResult = cosXml.DeleteBucketWebsite(deleteRequest);

                    Assert.IsTrue(deleteResult.IsSuccessful());
                }
                                                         );
            }
            catch (COSXML.CosException.CosClientException clientEx)
            {
                Console.WriteLine("CosClientException: " + clientEx.Message);
                Assert.Fail();
            }
            catch (COSXML.CosException.CosServerException serverEx)
            {
                Console.WriteLine("CosServerException: " + serverEx.GetInfo());
                Assert.Fail();
            }
        }
Beispiel #7
0
 public void PutBucketWebsiteAsync(PutBucketWebsiteRequest request, OnSuccessCallback <CosResult> successCallback, OnFailedCallback failCallback)
 {
     Schedue(request, new Model.Bucket.PutBucketWebsiteResult(), successCallback, failCallback);
 }
Beispiel #8
0
 public PutBucketWebsiteResult PutBucketWebsite(PutBucketWebsiteRequest request)
 {
     return((Model.Bucket.PutBucketWebsiteResult)Excute(request, new Model.Bucket.PutBucketWebsiteResult()));
 }
 public Task <PutBucketWebsiteResponse> PutBucketWebsiteAsync(PutBucketWebsiteRequest request, CancellationToken cancellationToken = default)
 {
     throw new NotImplementedException();
 }
 public PutBucketWebsiteResponse PutBucketWebsite(PutBucketWebsiteRequest request)
 {
     throw new NotImplementedException();
 }
Beispiel #11
0
 public void PutBucketWebsiteAsync(PutBucketWebsiteRequest request, AmazonServiceCallback <PutBucketWebsiteRequest, PutBucketWebsiteResponse> callback, AsyncOptions options = null)
 {
     throw new System.NotImplementedException();
 }