private async Task InitBigtableInstanceAndTable() { if (EmulatorChannel == null) { InstanceAdminClient = BigtableInstanceAdminClient.Create(); TableAdminClient = BigtableTableAdminClient.Create(); TableClient = BigtableClient.Create(); try { await InstanceAdminClient.GetInstanceAsync(InstanceName); } catch (RpcException e) when(e.Status.StatusCode == StatusCode.NotFound) { Assert.True(false, $"The Bigtable instance for testing does not exist: {InstanceName}"); } } else { TableAdminClient = BigtableTableAdminClient.Create(EmulatorChannel); TableClient = BigtableClient.Create(BigtableClient.ClientCreationSettings.FromEndpointTarget(EmulatorChannel.Target)); } TableName = await CreateTable(); }
async void InitializeInstance() { InstanceAdminClient instanceAdminClient = await InstanceAdminClient.CreateAsync(); try { string name = $"projects/{_fixture.ProjectId}/instances/{_fixture.InstanceId}"; Instance response = await instanceAdminClient.GetInstanceAsync(name); } catch (RpcException ex) when(ex.Status.StatusCode == StatusCode.NotFound) { string parent = $"projects/{_fixture.ProjectId}"; Instance instance = new Instance { DisplayName = _fixture.InstanceId, Name = $"projects/{_fixture.ProjectId}/instances/{_fixture.InstanceId}", NodeCount = 1, Config = $"projects/{_fixture.ProjectId}/instanceConfigs/regional-us-central1" }; // Make the CreateInstance request var response = instanceAdminClient.CreateInstance(parent, _fixture.InstanceId, instance); // Poll until the returned long-running operation is complete response.PollUntilCompleted(); } }
/// <summary>Snippet for CreateInstance</summary> public void CreateInstance() { // Snippet: CreateInstance(ProjectName,InstanceName,Instance,CallSettings) // Create client InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create(); // Initialize request argument(s) ProjectName parent = new ProjectName("[PROJECT]"); InstanceName instanceId = new InstanceName("[PROJECT]", "[INSTANCE]"); Instance instance = new Instance(); // Make the request Operation <Instance, CreateInstanceMetadata> response = instanceAdminClient.CreateInstance(parent, instanceId, instance); // Poll until the returned long-running operation is complete Operation <Instance, CreateInstanceMetadata> completedResponse = response.PollUntilCompleted(); // Retrieve the operation result Instance result = completedResponse.Result; // Or get the name of the operation string operationName = response.Name; // This name can be stored, then the long-running operation retrieved later by name Operation <Instance, CreateInstanceMetadata> retrievedResponse = instanceAdminClient.PollOnceCreateInstance(operationName); // Check if the retrieved long-running operation has completed if (retrievedResponse.IsCompleted) { // If it has completed, then access the result Instance retrievedResult = retrievedResponse.Result; } // End snippet }
/// <summary> /// Deletes 10 oldest instances if the number of instances is more than 14. /// This is to clean up the stale instances in case of instance cleanup code may not get triggered. /// </summary> private async Task DeleteStaleInstancesAsync() { InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create(); var listInstancesRequest = new ListInstancesRequest { Filter = "name:my-instance-processing-units- OR name:my-instance-multi-region-", ParentAsProjectName = ProjectName.FromProject(ProjectId) }; var instances = instanceAdminClient.ListInstances(listInstancesRequest); if (instances.Count() < 15) { return; } var instancesToDelete = instances .OrderBy(db => long.TryParse( db.InstanceName.InstanceId.Replace("my-instance-processing-units-", "") .Replace("my-instance-multi-region-", ""), out long creationDate) ? creationDate : long.MaxValue) .Take(10); // Delete the instances. foreach (var instance in instancesToDelete) { try { await instanceAdminClient.DeleteInstanceAsync(instance.InstanceName); } catch (Exception) { } } }
private async Task InitBigtableInstanceAndTable() { if (EmulatorCallInvoker == null) { InstanceAdminClient = BigtableInstanceAdminClient.Create(); TableAdminClient = BigtableTableAdminClient.Create(); TableClient = BigtableClient.Create(); try { await InstanceAdminClient.GetInstanceAsync(InstanceName); } catch (RpcException e) when(e.Status.StatusCode == StatusCode.NotFound) { Assert.True(false, $"The Bigtable instance for testing does not exist: {InstanceName}"); } } else { TableAdminClient = new BigtableTableAdminClientBuilder { CallInvoker = EmulatorCallInvoker }.Build(); TableClient = new BigtableClientBuilder { CallInvoker = EmulatorCallInvoker }.Build(); } TableName = await CreateTable(); }
/// <summary>Snippet for UpdateInstanceAsync</summary> public async Task UpdateInstanceAsync() { // Snippet: UpdateInstanceAsync(Instance,FieldMask,CallSettings) // Additional: UpdateInstanceAsync(Instance,FieldMask,CancellationToken) // Create client InstanceAdminClient instanceAdminClient = await InstanceAdminClient.CreateAsync(); // Initialize request argument(s) Instance instance = new Instance(); FieldMask fieldMask = new FieldMask(); // Make the request Operation <Instance, UpdateInstanceMetadata> response = await instanceAdminClient.UpdateInstanceAsync(instance, fieldMask); // Poll until the returned long-running operation is complete Operation <Instance, UpdateInstanceMetadata> completedResponse = await response.PollUntilCompletedAsync(); // Retrieve the operation result Instance result = completedResponse.Result; // Or get the name of the operation string operationName = response.Name; // This name can be stored, then the long-running operation retrieved later by name Operation <Instance, UpdateInstanceMetadata> retrievedResponse = await instanceAdminClient.PollOnceUpdateInstanceAsync(operationName); // Check if the retrieved long-running operation has completed if (retrievedResponse.IsCompleted) { // If it has completed, then access the result Instance retrievedResult = retrievedResponse.Result; } // End snippet }
private async Task InitBigtableInstanceAndTable() { if (EmulatorChannel == null) { InstanceAdminClient = BigtableInstanceAdminClient.Create(); TableAdminClient = BigtableTableAdminClient.Create(); TableClient = BigtableClient.Create(); try { await InstanceAdminClient.GetInstanceAsync(InstanceName); } catch (RpcException e) when(e.Status.StatusCode == StatusCode.NotFound) { Assert.True(false, $"The Bigtable instance for testing does not exist: {InstanceName}"); } } else { TableAdminClient = BigtableTableAdminClient.Create(EmulatorChannel); TableClient = BigtableClient.Create(EmulatorChannel); } TableName = new TableName(ProjectName.ProjectId, InstanceName.InstanceId, "default-table"); await CreateTable(TableName); }
/// <summary>Snippet for UpdateInstance</summary> public void UpdateInstance_RequestObject() { // Snippet: UpdateInstance(UpdateInstanceRequest,CallSettings) // Create client InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create(); // Initialize request argument(s) UpdateInstanceRequest request = new UpdateInstanceRequest { Instance = new Instance(), FieldMask = new FieldMask(), }; // Make the request Operation <Instance, UpdateInstanceMetadata> response = instanceAdminClient.UpdateInstance(request); // Poll until the returned long-running operation is complete Operation <Instance, UpdateInstanceMetadata> completedResponse = response.PollUntilCompleted(); // Retrieve the operation result Instance result = completedResponse.Result; // Or get the name of the operation string operationName = response.Name; // This name can be stored, then the long-running operation retrieved later by name Operation <Instance, UpdateInstanceMetadata> retrievedResponse = instanceAdminClient.PollOnceUpdateInstance(operationName); // Check if the retrieved long-running operation has completed if (retrievedResponse.IsCompleted) { // If it has completed, then access the result Instance retrievedResult = retrievedResponse.Result; } // End snippet }
/// <summary> /// Deletes 10 oldest instances if the number of instances is more than 14. /// This is to clean up the stale instances in case of instance cleanup code may not get triggered. /// </summary> private async Task DeleteStaleInstancesAsync() { InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create(); var listInstancesRequest = new ListInstancesRequest { Filter = "name:my-instance-processing-units- OR name:my-instance-multi-region-", ParentAsProjectName = ProjectName.FromProject(ProjectId) }; var instances = instanceAdminClient.ListInstances(listInstancesRequest); if (instances.Count() < 15) { return; } long fiveHoursAgo = DateTimeOffset.UtcNow.AddHours(-5).ToUnixTimeMilliseconds(); var instancesToDelete = instances .Select(db => (db, CreationUnixTimeMilliseconds(db))) .Where(pair => pair.Item2 < fiveHoursAgo) .Select(pair => pair.db); // Delete the instances. foreach (var instance in instancesToDelete) { try { await instanceAdminClient.DeleteInstanceAsync(instance.InstanceName); } catch (Exception) { } }
/// <summary>Snippet for GetInstance</summary> public void GetInstance() { // Snippet: GetInstance(InstanceName,CallSettings) // Create client InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create(); // Initialize request argument(s) InstanceName name = new InstanceName("[PROJECT]", "[INSTANCE]"); // Make the request Instance response = instanceAdminClient.GetInstance(name); // End snippet }
/// <summary>Snippet for GetIamPolicy</summary> public void GetIamPolicy() { // Snippet: GetIamPolicy(string,CallSettings) // Create client InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create(); // Initialize request argument(s) string formattedResource = new Google.Cloud.Spanner.Common.V1.InstanceName("[PROJECT]", "[INSTANCE]").ToString(); // Make the request Policy response = instanceAdminClient.GetIamPolicy(formattedResource); // End snippet }
public void GetInstanceConfig() { // Snippet: GetInstanceConfig(string,CallSettings) // Create client InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create(); // Initialize request argument(s) string formattedName = new InstanceConfigName("[PROJECT]", "[INSTANCE_CONFIG]").ToString(); // Make the request InstanceConfig response = instanceAdminClient.GetInstanceConfig(formattedName); // End snippet }
public void DeleteInstance() { // Snippet: DeleteInstance(string,CallSettings) // Create client InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create(); // Initialize request argument(s) string formattedName = new InstanceName("[PROJECT]", "[INSTANCE]").ToString(); // Make the request instanceAdminClient.DeleteInstance(formattedName); // End snippet }
public void SetIamPolicy() { // Snippet: SetIamPolicy(string,Policy,CallSettings) // Create client InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create(); // Initialize request argument(s) string formattedResource = new InstanceName("[PROJECT]", "[INSTANCE]").ToString(); Policy policy = new Policy(); // Make the request Policy response = instanceAdminClient.SetIamPolicy(formattedResource, policy); // End snippet }
/// <summary>Snippet for TestIamPermissions</summary> public void TestIamPermissions() { // Snippet: TestIamPermissions(string,IEnumerable<string>,CallSettings) // Create client InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create(); // Initialize request argument(s) string formattedResource = new Google.Cloud.Spanner.Common.V1.InstanceName("[PROJECT]", "[INSTANCE]").ToString(); IEnumerable <string> permissions = new List <string>(); // Make the request TestIamPermissionsResponse response = instanceAdminClient.TestIamPermissions(formattedResource, permissions); // End snippet }
public Instance CreateInstanceWithProcessingUnits(string projectId, string instanceId) { // Create the InstanceAdminClient instance. InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create(); InstanceName instanceName = InstanceName.FromProjectInstance(projectId, instanceId); // Initialize request parameters. Instance instance = new Instance { InstanceName = instanceName, ConfigAsInstanceConfigName = InstanceConfigName.FromProjectInstanceConfig(projectId, "regional-us-central1"), DisplayName = "This is a display name.", ProcessingUnits = 500, Labels = { { "cloud_spanner_samples", "true" }, } }; ProjectName projectName = ProjectName.FromProject(projectId); // Make the CreateInstance request. Operation <Instance, CreateInstanceMetadata> response = instanceAdminClient.CreateInstance(projectName, instanceId, instance); Console.WriteLine("Waiting for the operation to finish."); // Poll until the returned long-running operation is complete. Operation <Instance, CreateInstanceMetadata> completedResponse = response.PollUntilCompleted(); if (completedResponse.IsFaulted) { Console.WriteLine($"Error while creating instance: {completedResponse.Exception}"); throw completedResponse.Exception; } Console.WriteLine($"Instance created successfully."); // GetInstance to get the processing units using a field mask. GetInstanceRequest getInstanceRequest = new GetInstanceRequest { FieldMask = new FieldMask { Paths = { "processing_units" } }, InstanceName = instanceName }; instance = instanceAdminClient.GetInstance(getInstanceRequest); Console.WriteLine($"Instance {instanceId} has {instance.ProcessingUnits} processing units."); return(instance); }
public void GetIamPolicy_RequestObject() { // Snippet: GetIamPolicy(GetIamPolicyRequest,CallSettings) // Create client InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create(); // Initialize request argument(s) GetIamPolicyRequest request = new GetIamPolicyRequest { Resource = new InstanceName("[PROJECT]", "[INSTANCE]").ToString(), }; // Make the request Policy response = instanceAdminClient.GetIamPolicy(request); // End snippet }
/// <summary>Snippet for GetInstance</summary> public void GetInstance_RequestObject() { // Snippet: GetInstance(GetInstanceRequest,CallSettings) // Create client InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create(); // Initialize request argument(s) GetInstanceRequest request = new GetInstanceRequest { InstanceName = new InstanceName("[PROJECT]", "[INSTANCE]"), }; // Make the request Instance response = instanceAdminClient.GetInstance(request); // End snippet }
public async Task GetInstanceAsync() { // Snippet: GetInstanceAsync(string,CallSettings) // Additional: GetInstanceAsync(string,CancellationToken) // Create client InstanceAdminClient instanceAdminClient = await InstanceAdminClient.CreateAsync(); // Initialize request argument(s) string formattedName = new InstanceName("[PROJECT]", "[INSTANCE]").ToString(); // Make the request Instance response = await instanceAdminClient.GetInstanceAsync(formattedName); // End snippet }
/// <summary>Snippet for GetInstanceConfigAsync</summary> public async Task GetInstanceConfigAsync() { // Snippet: GetInstanceConfigAsync(InstanceConfigName,CallSettings) // Additional: GetInstanceConfigAsync(InstanceConfigName,CancellationToken) // Create client InstanceAdminClient instanceAdminClient = await InstanceAdminClient.CreateAsync(); // Initialize request argument(s) InstanceConfigName name = new InstanceConfigName("[PROJECT]", "[INSTANCE_CONFIG]"); // Make the request InstanceConfig response = await instanceAdminClient.GetInstanceConfigAsync(name); // End snippet }
void InitializeInstance() { InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create(); try { string name = $"projects/{_fixture.ProjectId}/instances/{_fixture.InstanceId}"; Instance response = instanceAdminClient.GetInstance(name); } catch (RpcException ex) when(ex.Status.StatusCode == StatusCode.NotFound) { CreateInstance.SpannerCreateInstance(_fixture.ProjectId, _fixture.InstanceId); } }
void InitializeInstance() { InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create(); try { InstanceName instanceName = InstanceName.FromProjectInstance(_fixture.ProjectId, _fixture.InstanceId); Instance response = instanceAdminClient.GetInstance(instanceName); } catch (RpcException ex) when(ex.Status.StatusCode == StatusCode.NotFound) { CreateInstance.SpannerCreateInstance(_fixture.ProjectId, _fixture.InstanceId); } }
public void GetInstanceConfig_RequestObject() { // Snippet: GetInstanceConfig(GetInstanceConfigRequest,CallSettings) // Create client InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create(); // Initialize request argument(s) GetInstanceConfigRequest request = new GetInstanceConfigRequest { Name = new InstanceConfigName("[PROJECT]", "[INSTANCE_CONFIG]").ToString(), }; // Make the request InstanceConfig response = instanceAdminClient.GetInstanceConfig(request); // End snippet }
private void DeleteInstance(string instanceId) { InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create(); InstanceName instanceName = InstanceName.FromProjectInstance(ProjectId, instanceId); try { instanceAdminClient.DeleteInstance(instanceName); } catch (Exception) { // Silently ignore errors to prevent tests from failing. } }
public async Task <InstanceConfig> GetInstanceConfigAsync(string projectId, string instanceConfigId) { var instanceAdminClient = await InstanceAdminClient.CreateAsync(); var instanceConfigName = InstanceConfigName.FromProjectInstanceConfig(projectId, instanceConfigId); var instanceConfig = await instanceAdminClient.GetInstanceConfigAsync(instanceConfigName); Console.WriteLine($"Available leader options for instance config {instanceConfigName.InstanceConfigId}:"); foreach (var leader in instanceConfig.LeaderOptions) { Console.WriteLine(leader); } return(instanceConfig); }
/// <summary>Snippet for GetIamPolicyAsync</summary> public async Task GetIamPolicyAsync() { // Snippet: GetIamPolicyAsync(string,CallSettings) // Additional: GetIamPolicyAsync(string,CancellationToken) // Create client InstanceAdminClient instanceAdminClient = await InstanceAdminClient.CreateAsync(); // Initialize request argument(s) string formattedResource = new Google.Cloud.Spanner.Common.V1.InstanceName("[PROJECT]", "[INSTANCE]").ToString(); // Make the request Policy response = await instanceAdminClient.GetIamPolicyAsync(formattedResource); // End snippet }
/// <summary>Snippet for DeleteInstanceAsync</summary> public async Task DeleteInstanceAsync() { // Snippet: DeleteInstanceAsync(InstanceName,CallSettings) // Additional: DeleteInstanceAsync(InstanceName,CancellationToken) // Create client InstanceAdminClient instanceAdminClient = await InstanceAdminClient.CreateAsync(); // Initialize request argument(s) InstanceName name = new InstanceName("[PROJECT]", "[INSTANCE]"); // Make the request await instanceAdminClient.DeleteInstanceAsync(name); // End snippet }
public async Task TestIamPermissionsAsync() { // Snippet: TestIamPermissionsAsync(string,IEnumerable<string>,CallSettings) // Additional: TestIamPermissionsAsync(string,IEnumerable<string>,CancellationToken) // Create client InstanceAdminClient instanceAdminClient = await InstanceAdminClient.CreateAsync(); // Initialize request argument(s) string formattedResource = new InstanceName("[PROJECT]", "[INSTANCE]").ToString(); IEnumerable <string> permissions = new List <string>(); // Make the request TestIamPermissionsResponse response = await instanceAdminClient.TestIamPermissionsAsync(formattedResource, permissions); // End snippet }
/// <summary>Snippet for SetIamPolicy</summary> public void SetIamPolicy_RequestObject() { // Snippet: SetIamPolicy(SetIamPolicyRequest,CallSettings) // Create client InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create(); // Initialize request argument(s) SetIamPolicyRequest request = new SetIamPolicyRequest { Resource = new Google.Cloud.Spanner.Common.V1.InstanceName("[PROJECT]", "[INSTANCE]").ToString(), Policy = new Policy(), }; // Make the request Policy response = instanceAdminClient.SetIamPolicy(request); // End snippet }
/// <summary>Snippet for TestIamPermissions</summary> public void TestIamPermissions_RequestObject() { // Snippet: TestIamPermissions(TestIamPermissionsRequest,CallSettings) // Create client InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create(); // Initialize request argument(s) TestIamPermissionsRequest request = new TestIamPermissionsRequest { Resource = new Google.Cloud.Spanner.Common.V1.InstanceName("[PROJECT]", "[INSTANCE]").ToString(), Permissions = { }, }; // Make the request TestIamPermissionsResponse response = instanceAdminClient.TestIamPermissions(request); // End snippet }