public async Task UpdateDatabaseWithDefaultLeaderAsync(string projectId, string instanceId, string databaseId, string defaultLeader) { DatabaseAdminClient databaseAdminClient = await DatabaseAdminClient.CreateAsync(); var alterDatabaseStatement = @$ "ALTER DATABASE `{databaseId}` SET OPTIONS (default_leader = '{defaultLeader}')"; // Create the UpdateDatabaseDdl request and execute it. var request = new UpdateDatabaseDdlRequest { DatabaseAsDatabaseName = DatabaseName.FromProjectInstanceDatabase(projectId, instanceId, databaseId), Statements = { alterDatabaseStatement } }; var operation = await databaseAdminClient.UpdateDatabaseDdlAsync(request); // Wait until the operation has finished. Console.WriteLine("Waiting for the operation to finish."); var completedResponse = await operation.PollUntilCompletedAsync(); if (completedResponse.IsFaulted) { Console.WriteLine($"Error while updating database: {completedResponse.Exception}"); throw completedResponse.Exception; } Console.WriteLine("Updated default leader"); }
/// <summary>Snippet for UpdateDatabaseDdl</summary> public void UpdateDatabaseDdl_RequestObject() { // Snippet: UpdateDatabaseDdl(UpdateDatabaseDdlRequest,CallSettings) // Create client DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.Create(); // Initialize request argument(s) UpdateDatabaseDdlRequest request = new UpdateDatabaseDdlRequest { DatabaseAsDatabaseName = new DatabaseName("[PROJECT]", "[INSTANCE]", "[DATABASE]"), Statements = { }, }; // Make the request Operation <Empty, UpdateDatabaseDdlMetadata> response = databaseAdminClient.UpdateDatabaseDdl(request); // Poll until the returned long-running operation is complete Operation <Empty, UpdateDatabaseDdlMetadata> completedResponse = response.PollUntilCompleted(); // The long-running operation is now complete. // 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 <Empty, UpdateDatabaseDdlMetadata> retrievedResponse = databaseAdminClient.PollOnceUpdateDatabaseDdl(operationName); // Check if the retrieved long-running operation has completed if (retrievedResponse.IsCompleted) { // The long-running operation is now complete. } // End snippet }