public static List <ObjectSummary> GetUsageReportNames(ClientConfig config, ObjectStorageClient client, string startName = "") { List <ObjectSummary> res = new List <ObjectSummary>(); client.SetRegion(Regions.US_ASHBURN_1); var listORequest = new ListObjectsRequest() { NamespaceName = "bling", BucketName = config.TenancyId, Fields = new List <string>() { "name" }, Start = startName, Limit = 10 }; var reports = client.ListObjects(listORequest); res.AddRange(reports.ListObjects.Objects); if (!string.IsNullOrEmpty(reports.ListObjects.NextStartWith)) { res.AddRange(GetUsageReportNames(config, client, reports.ListObjects.NextStartWith)); } return(res); }
protected override void ProcessRecord() { base.ProcessRecord(); try { client?.Dispose(); int timeout = GetPreferredTimeout(); WriteDebug($"Cmdlet Timeout : {timeout} milliseconds."); client = new ObjectStorageClient(AuthProvider, new Oci.Common.ClientConfiguration { RetryConfiguration = retryConfig, TimeoutMillis = timeout, ClientUserAgent = PSUserAgent }); string region = GetPreferredRegion(); if (region != null) { WriteDebug("Choosing Region:" + region); client.SetRegion(region); } if (Endpoint != null) { WriteDebug("Choosing Endpoint:" + Endpoint); client.SetEndpoint(Endpoint); } } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }
/// <summary> /// すべてのバケットを取得する /// </summary> /// <param name="nameSpaceName"></param> /// <param name="compartmentId"></param> /// <returns></returns> public IEnumerable <BucketInfo> GetAllBuckets(string nameSpaceName, string compartmentId) { List <BucketInfo> res = new List <BucketInfo>(); var regions = GetRegions(); var request = new ListBucketsRequest { NamespaceName = nameSpaceName, CompartmentId = compartmentId, Limit = 10 }; Parallel.ForEach(regions, region => { ObjectStorageClient objectStorageClient = new ObjectStorageClient(ClientConfig); objectStorageClient.SetRegion(region.RegionName); while (true) { var buckets = objectStorageClient.ListBuckets(request); foreach (var item in buckets.Items) { res.Add(new BucketInfo() { Name = item.Name, Region = region.RegionName, Id = item.Id, ModifiedTime = item.TimeCreated }); } if (string.IsNullOrEmpty(buckets.OpcNextPage)) { break; } request.Page = buckets.OpcNextPage; } }); return(res); }