Amazon.S3.AmazonS3Client.GetBucketWebsite C# (CSharp) Method

GetBucketWebsite() public method

Returns the website configuration for a bucket.
public GetBucketWebsite ( GetBucketWebsiteRequest request ) : GetBucketWebsiteResponse
request GetBucketWebsiteRequest Container for the necessary parameters to execute the GetBucketWebsite service method.
return GetBucketWebsiteResponse
        public GetBucketWebsiteResponse GetBucketWebsite(GetBucketWebsiteRequest request)
        {
            var marshaller = new GetBucketWebsiteRequestMarshaller();
            var unmarshaller = GetBucketWebsiteResponseUnmarshaller.Instance;

            return Invoke<GetBucketWebsiteRequest,GetBucketWebsiteResponse>(request, marshaller, unmarshaller);
        }

Same methods

AmazonS3Client::GetBucketWebsite ( string bucketName ) : GetBucketWebsiteResponse

Usage Example

        public DataTable GetS3Buckets(string aprofile,string Region2Scan)
        {
            string accountid = GetAccountID(aprofile);
            Amazon.Runtime.AWSCredentials credential;
            DataTable ToReturn = AWSTables.GetComponentTable("S3");
            RegionEndpoint Endpoint2scan = RegionEndpoint.USEast1;
            //Convert the Region2Scan to an AWS Endpoint.
            foreach (var aregion in RegionEndpoint.EnumerableAllRegions)
            {
                if (aregion.DisplayName.Equals(Region2Scan))
                {
                    Endpoint2scan = aregion;
                    continue;
                }
            }


            //Query Cloudwatch to get list of buckets and sizes in this here region
            var Sizetable = S3SizeCloudWatch(aprofile, Region2Scan);
            int sizerows = Sizetable.Rows.Count;



            try
            {
                credential = new Amazon.Runtime.StoredProfileAWSCredentials(aprofile);


                
                
                AmazonS3Client S3Client = new AmazonS3Client(credential, Endpoint2scan);
                ListBucketsResponse response = S3Client.ListBuckets();

                //Why are we getting USEast buckets?  Because the Cloudwatch returns buckets by region, but list buckets does care about regions!


                foreach (S3Bucket abucket in response.Buckets)
                {
                    DataRow abucketrow = ToReturn.NewRow();
                    var name = abucket.BucketName;
                    DataRow bucketsizedata = AWSTables.GetS3SizesTable().NewRow();
                    Boolean havesize = true;

                    try//Lookup the record in the Sizetable for this bucket.
                    {
                        //This is equivalent to the LINQ query.
                        Boolean foundinsizetable = false;
                        List<string> bn = new List<string>();
                        foreach(var rabbit in Sizetable.AsEnumerable())
                        {
                            String thisun = rabbit["Bucket"].ToString();
                            bn.Add(thisun);
                            if (thisun.Equals(name))
                            {
                                bucketsizedata = rabbit;
                                foundinsizetable = true;
                            }
                        }
                        if(!foundinsizetable)
                        {
                            bn.Sort();
                            if (bn.Contains(name))
                            {
                                string rabbit = "Yes it does!";
                            }
                            //why not?
                        }



                        if (bucketsizedata == null)
                        {
                            abucketrow["EndDate"] = AWSTables.Shrug;
                            havesize = false;
                        }

                    }
                    catch
                    {

                    }


                    try
                    {
                        GetBucketLocationRequest gbr = new GetBucketLocationRequest();
                        gbr.BucketName = name;
                        GetBucketLocationResponse location = S3Client.GetBucketLocation(gbr);

                        var region = location.Location.Value;

                        if (region.Equals(""))
                        {
                            
                            region = "us-east-1";
                        }

                        if (!region.Contains(Endpoint2scan.SystemName))
                        {
                            name = name;//Bucketname
                            region = region;//BucketRegion
                            string target = Endpoint2scan.SystemName;
                            continue;
                        }
                        var pointy = RegionEndpoint.GetBySystemName(region);

                        //Build a config that references the buckets region.
                        AmazonS3Config S3C = new AmazonS3Config();
                        S3C.RegionEndpoint = pointy;
                        AmazonS3Client BS3Client = new AmazonS3Client(credential, S3C);

                        var authregion = "";
                        var EP = BS3Client.Config.RegionEndpoint.DisplayName;
                        if (String.IsNullOrEmpty(BS3Client.Config.RegionEndpoint.DisplayName)) authregion = "";
                        else
                        {
                            authregion = BS3Client.Config.AuthenticationRegion;
                        }

                        string authservice = "";

                        if (string.IsNullOrEmpty(BS3Client.Config.AuthenticationServiceName)) authservice = "";
                        else
                        {
                            authservice = BS3Client.Config.AuthenticationServiceName;
                        }

                        var createddate = abucket.CreationDate;
                        string owner = "";
                        string grants = "";
                        string tags = "";
                        string lastaccess = "";
                        string defaultpage = "";
                        string website = "";
                        //Now start pulling der einen data.

                        GetACLRequest GACR = new GetACLRequest();
                        GACR.BucketName = name;
                        var ACL = BS3Client.GetACL(GACR);
                        var grantlist = ACL.AccessControlList;
                        owner = grantlist.Owner.DisplayName;
                        foreach (var agrant in grantlist.Grants)
                        {
                            if (grants.Length > 1) grants += "\n";
                            var gName = agrant.Grantee.DisplayName;
                            var gType = agrant.Grantee.Type.Value;
                            var aMail = agrant.Grantee.EmailAddress;

                            if (gType.Equals("Group"))
                            {
                                grants += gType + " - " + agrant.Grantee.URI + " - " + agrant.Permission + " - " + aMail;
                            }
                            else
                            {
                                grants += gName + " - " + agrant.Permission + " - " + aMail;
                            }
                        }

                        GetBucketWebsiteRequest GBWReq = new GetBucketWebsiteRequest();
                        GBWReq.BucketName = name;
                        GetBucketWebsiteResponse GBWRes = BS3Client.GetBucketWebsite(GBWReq);

                        defaultpage = GBWRes.WebsiteConfiguration.IndexDocumentSuffix;


                        if (defaultpage != null)
                        {
                            website = @"http://" + name + @".s3-website-" + region + @".amazonaws.com/" + defaultpage;
                        }
                        abucketrow["AccountID"] = accountid;
                        abucketrow["Profile"] = aprofile;
                        abucketrow["Bucket"] = name;
                        abucketrow["Region"] = region;
                        abucketrow["RegionEndpoint"] = EP;
                        abucketrow["AuthRegion"] = authregion;
                        abucketrow["AuthService"] = authservice;

                        abucketrow["CreationDate"] = createddate.ToString();
                        abucketrow["LastAccess"] = lastaccess;
                        abucketrow["Owner"] = owner;
                        abucketrow["Grants"] = grants;
                        abucketrow["StartDate"] = "NA";
                        abucketrow["StartSizeMin"] = "NA";
                        abucketrow["StartSizeAVG"] = "NA";
                        abucketrow["StartSizeMax"] = "NA";

                        abucketrow["EndDate"] = "NA";
                        abucketrow["EndSizeMin"] = "NA";
                        abucketrow["EndSizeAVG"] = "NA";
                        abucketrow["EndSizeMax"] = "NA";
                        abucketrow["EndSizeMaxBytes"] = 0;

                        if (havesize)
                        {
                            abucketrow["StartDate"] = bucketsizedata["StartDate"];
                            abucketrow["StartSizeMin"] = bucketsizedata["StartSizeMin"];
                            abucketrow["StartSizeAVG"] = bucketsizedata["StartSizeAVG"];
                            abucketrow["StartSizeMax"] = bucketsizedata["StartSizeMax"];

                            abucketrow["EndDate"] = bucketsizedata["EndDate"];
                            abucketrow["EndSizeMin"] = bucketsizedata["EndSizeMin"];
                            abucketrow["EndSizeAVG"] = bucketsizedata["EndSizeAVG"];
                            abucketrow["EndSizeMax"] = bucketsizedata["EndSizeMax"];
                            abucketrow["EndSizeMaxBytes"] = bucketsizedata["EndSizeMaxBytes"];
                        }



                        abucketrow["WebsiteHosting"] = website;
                        abucketrow["Logging"] = "X";
                        abucketrow["Events"] = "X";
                        abucketrow["Versioning"] = "X";
                        abucketrow["LifeCycle"] = "X";
                        abucketrow["Replication"] = "X";
                        abucketrow["Tags"] = "X";
                        abucketrow["RequesterPays"] = "X";
                        ToReturn.Rows.Add(abucketrow.ItemArray);
                    }
                    catch (Exception ex)
                    {

                        abucketrow["AccountID"] = accountid;
                        abucketrow["Profile"] = aprofile;
                        abucketrow["Bucket"] = name;
                        abucketrow["Region"] = ex.InnerException.Message;

                        if (havesize)
                        {
                            abucketrow["StartDate"] = bucketsizedata["StartDate"];
                            abucketrow["StartSizeMin"] = bucketsizedata["StartSizeMin"];
                            abucketrow["StartSizeAVG"] = bucketsizedata["StartSizeAVG"];
                            abucketrow["StartSizeMax"] = bucketsizedata["StartSizeMax"];

                            abucketrow["EndDate"] = bucketsizedata["EndDate"];
                            abucketrow["EndSizeMin"] = bucketsizedata["EndSizeMin"];
                            abucketrow["EndSizeAVG"] = bucketsizedata["EndSizeAVG"];
                            abucketrow["EndSizeMax"] = bucketsizedata["EndSizeMax"];
                            abucketrow["EndSizeMaxBytes"] = bucketsizedata["EndSizeMaxBytes"];

                        }
                        else
                        {
                            abucketrow["StartDate"] = "NA";
                            abucketrow["StartSizeMin"] = "NA";
                            abucketrow["StartSizeAVG"] = "NA";
                            abucketrow["StartSizeMax"] = "NA";

                            abucketrow["EndDate"] = "NA";
                            abucketrow["EndSizeMin"] = "NA";
                            abucketrow["EndSizeAVG"] = "NA";
                            abucketrow["EndSizeMax"] = "NA";
                            abucketrow["EndSizeMaxBytes"] = 0;
                        }

                        ToReturn.Rows.Add(abucketrow.ItemArray);
                    }
                }




            }
            catch(Exception ex)
            {
                //Croak
            }
            int sizesreturned = Sizetable.Rows.Count;
            int rowsreturned = ToReturn.Rows.Count;
            return ToReturn;
        }
All Usage Examples Of Amazon.S3.AmazonS3Client::GetBucketWebsite
AmazonS3Client