/// 设置存储桶静态网站 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 }
/// <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."); } }
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); } }
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(); } }
public void PutBucketWebsiteAsync(PutBucketWebsiteRequest request, OnSuccessCallback <CosResult> successCallback, OnFailedCallback failCallback) { Schedue(request, new Model.Bucket.PutBucketWebsiteResult(), successCallback, failCallback); }
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(); }
public void PutBucketWebsiteAsync(PutBucketWebsiteRequest request, AmazonServiceCallback <PutBucketWebsiteRequest, PutBucketWebsiteResponse> callback, AsyncOptions options = null) { throw new System.NotImplementedException(); }