/// <summary> /// クライアント作成 /// </summary> public void CreateClient() { ClientConfig = new ClientConfig { TenancyId = OciSetting.TenancyId, UserId = OciSetting.UserId, Fingerprint = OciSetting.Fingerprint, PrivateKey = OciSetting.KeyFilePath, PrivateKeyPassphrase = OciSetting.PassPhrase }; ThreadSafeSigner threadSafeSigner = new ThreadSafeSigner(new OciSigner(ClientConfig)); IdentityClient = new IdentityClient(ClientConfig); ObjectStorageClient = new ObjectStorageClient(ClientConfig, threadSafeSigner); }
public static void ClassInitialize(TestContext testContext) { ClientConfig clientConfig = new ClientConfig { TenancyId = TenantOCID, UserId = UserOCID, Fingerprint = Fingerprint, PrivateKey = KeyFilePath, Password = PassPhrase, PrivateKeyPassphrase = PassPhrase }; var signer = new ThreadSafeSigner(new OciSigner(clientConfig)); ObjectStorageClient objectStorageClient = new ObjectStorageClient(clientConfig, signer) { Region = Region }; ObjectStorageClient = objectStorageClient; NameSpaceName = ObjectStorageClient.GetNamespace(new GetNamespaceRequest()); }
public static void ClassInitialize(TestContext testContext) { foreach (var dir in TestFileInfos.Keys) { foreach (var fileName in TestFileInfos[dir]) { if (string.IsNullOrEmpty(dir)) { TestFileRemotePaths.Add(fileName); } else { TestFileRemotePaths.Add($"{dir}/{fileName}"); } } } ClientConfig clientConfig = new ClientConfig { TenancyId = TenantOCID, UserId = UserOCID, Fingerprint = Fingerprint, PrivateKey = KeyFilePath, Password = PassPhrase, PrivateKeyPassphrase = PassPhrase }; var signer = new ThreadSafeSigner(new OciSigner(clientConfig)); ObjectStorageClient objectStorageClient = new ObjectStorageClient(clientConfig, signer) { Region = Region }; ObjectStorageClient = objectStorageClient; NameSpaceName = ObjectStorageClient.GetNamespace(new GetNamespaceRequest()); }
public static void Example(ClientConfig config) { ThreadSafeSigner threadSafeSigner = new ThreadSafeSigner(new OciSigner(config)); var client = new ObjectStorageClient(config, threadSafeSigner) { Region = Regions.AP_TOKYO_1 }; var identityClient = new IdentityClient(config, threadSafeSigner) { Region = Regions.AP_TOKYO_1 }; var nameSpaceName = client.GetNamespace(new GetNamespaceRequest()); // Compartment required only to get a bucket var listCompartmentRequest = new ListCompartmentRequest() { CompartmentId = config.TenancyId, CompartmentIdInSubtree = true, AccessLevel = ListCompartmentRequest.AccessLevels.ACCESSIBLE }; var compartments = identityClient.ListCompartment(listCompartmentRequest).Items; // root(tenant) add compartments.Add(new OCISDK.Core.Identity.Model.Compartment { Id = config.TenancyId, Name = "root" }); foreach (var compartment in compartments) { ListBucketsRequest listBucketsRequest = new ListBucketsRequest { NamespaceName = nameSpaceName, CompartmentId = compartment.Id, Limit = 10 }; var bukcets = client.ListBuckets(listBucketsRequest); foreach (var bukcet in bukcets.Items) { ObjectStorageDirectoryInfo directoryInfo = new ObjectStorageDirectoryInfo(client, nameSpaceName, bukcet.Name); Console.WriteLine($"* {bukcet.Name}"); // top files var files = directoryInfo.EnumerateFiles("*", System.IO.SearchOption.TopDirectoryOnly); foreach (var file in files) { Console.WriteLine($"\t|- {file.Name}"); } // top directories and files var topDirs = directoryInfo.EnumerateDirectories("*", System.IO.SearchOption.TopDirectoryOnly); foreach (var dir in topDirs) { Console.WriteLine($"\t|- {dir.Name}"); files = dir.EnumerateFiles("*", System.IO.SearchOption.TopDirectoryOnly); foreach (var file in files) { Console.WriteLine($"\t|\t|- {file.Name}"); } // sub directories and files var subDirInfo = new ObjectStorageDirectoryInfo(client, nameSpaceName, bukcet.Name, dir.Name + "/"); var subDirs = subDirInfo.EnumerateDirectories("*", System.IO.SearchOption.TopDirectoryOnly); foreach (var sub in subDirs) { Console.WriteLine($"\t|\t|- {sub.Name}"); files = sub.EnumerateFiles("*", System.IO.SearchOption.TopDirectoryOnly); foreach (var file in files) { Console.WriteLine($"\t|\t|\t|- {file.Name}"); } } } foreach (var dir in topDirs) { // prefix directories Console.WriteLine("TopDirectoryOnly prefix-----[" + dir.Name + "]"); var preDir = new ObjectStorageDirectoryInfo(client, nameSpaceName, bukcet.Name, dir.Name); var preFiles = preDir.EnumerateFiles("*", System.IO.SearchOption.TopDirectoryOnly); foreach (var file in preFiles) { Console.WriteLine($"\t|- {file.FullName}"); } } foreach (var dir in topDirs) { // prefix directories Console.WriteLine("AllDirectories prefix-----[" + dir.Name + "]"); var preDir = new ObjectStorageDirectoryInfo(client, nameSpaceName, bukcet.Name, dir.Name); var preFiles = preDir.EnumerateFiles("*", System.IO.SearchOption.AllDirectories); foreach (var file in preFiles) { Console.WriteLine($"\t|- {file.FullName}"); } } } } }
public static void AuditDisplay(ClientConfig config) { ThreadSafeSigner threadSafeSigner = new ThreadSafeSigner(new OciSigner(config)); // create client IdentityClient identityClinet = new IdentityClient(config, threadSafeSigner) { Region = Regions.US_ASHBURN_1 }; var executeStart = DateTime.Now; var listRegionSubscriptionsRequest = new ListRegionSubscriptionsRequest() { TenancyId = config.TenancyId }; var regions = identityClinet.ListRegionSubscriptions(listRegionSubscriptionsRequest).Items.Where(r => r.Status.Equals("READY")); // get compartment var listCompartmentRequest = new ListCompartmentRequest() { CompartmentId = config.TenancyId, CompartmentIdInSubtree = true, AccessLevel = ListCompartmentRequest.AccessLevels.ACCESSIBLE }; var compartments = identityClinet.ListCompartment(listCompartmentRequest).Items; // get Audit Events Console.WriteLine("* Audit Events-------------------"); var acquisitionMaxRange = 12; // 長時間化を見込んで時間を分割しながら取得する var endDate = new DateTime(2020, 3, 11); var startDate = new DateTime(2020, 3, 9); var client = new AuditClientAsync(config, threadSafeSigner); var option = client.GetRestOption(); option.TimeoutSeconds = 200; client.SetRestOption(option); foreach (var region in regions) { client.SetRegion(region.RegionName); while (startDate < endDate) { var valiableDay = startDate.AddDays(1); var start = startDate; bool finished = false; while (!finished) { var progressEndDate = start.AddHours(acquisitionMaxRange); if (progressEndDate > valiableDay) { progressEndDate = valiableDay; finished = true; } if (start == progressEndDate) { continue; } foreach (var compartment in compartments) { if (!compartment.LifecycleState.Equals("ACTIVE", StringComparison.OrdinalIgnoreCase)) { continue; } Console.WriteLine($"region:{region.RegionName}, compartment:{compartment.Name}"); AddTasks(DisplayAudit(client, identityClinet, compartment, start.ToString("yyyy-MM-ddTHH:mm:ssZ"), progressEndDate.ToString("yyyy-MM-ddTHH:mm:ssZ"))); } start = progressEndDate; } ExecuteTasks(); startDate = valiableDay; } } ExecuteTasks(); Console.WriteLine($"Count:{Count}"); var executeEnd = DateTime.Now; var saDate = executeEnd - executeStart; Console.WriteLine($"{saDate.Hours}:{saDate.Minutes}:{saDate.Seconds}"); Console.WriteLine("******************************************"); Console.WriteLine("******** All Audit Task Completed ********"); Console.WriteLine("******************************************"); }