Atualizar banco de dados - Amazon Timestream

Para recursos semelhantes aos do Amazon Timestream para, considere o Amazon Timestream LiveAnalytics para InfluxDB. Ele oferece ingestão de dados simplificada e tempos de resposta de consulta de um dígito em milissegundos para análises em tempo real. Saiba mais aqui.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Atualizar banco de dados

É possível usar os seguintes trechos de código para atualizar seus bancos de dados.

nota

Esses trechos de código são baseados em aplicativos de amostra completos no GitHub. Para obter mais informações sobre como iniciar com os aplicativos de amostra, consulte Aplicação de exemplo.

Java
public void updateDatabase(String kmsId) { System.out.println("Updating kmsId to " + kmsId); UpdateDatabaseRequest request = new UpdateDatabaseRequest(); request.setDatabaseName(DATABASE_NAME); request.setKmsKeyId(kmsId); try { UpdateDatabaseResult result = amazonTimestreamWrite.updateDatabase(request); System.out.println("Update Database complete"); } catch (final ValidationException e) { System.out.println("Update database failed:"); e.printStackTrace(); } catch (final ResourceNotFoundException e) { System.out.println("Database " + DATABASE_NAME + " doesn't exist = " + e); } catch (final Exception e) { System.out.println("Could not update Database " + DATABASE_NAME + " = " + e); throw e; } }
Java v2
public void updateDatabase(String kmsKeyId) { if (kmsKeyId == null) { System.out.println("Skipping UpdateDatabase because KmsKeyId was not given"); return; } System.out.println("Updating database"); UpdateDatabaseRequest request = UpdateDatabaseRequest.builder() .databaseName(DATABASE_NAME) .kmsKeyId(kmsKeyId) .build(); try { timestreamWriteClient.updateDatabase(request); System.out.println("Database [" + DATABASE_NAME + "] updated successfully with kmsKeyId " + kmsKeyId); } catch (ResourceNotFoundException e) { System.out.println("Database [" + DATABASE_NAME + "] does not exist. Skipping UpdateDatabase"); } catch (Exception e) { System.out.println("UpdateDatabase failed: " + e); } }
Go
// Update Database. updateDatabaseInput := &timestreamwrite.UpdateDatabaseInput { DatabaseName: aws.String(*databaseName), KmsKeyId: aws.String(*kmsKeyId), } updateDatabaseOutput, err := writeSvc.UpdateDatabase(updateDatabaseInput) if err != nil { fmt.Println("Error:") fmt.Println(err) } else { fmt.Println("Update database is successful, below is the output:") fmt.Println(updateDatabaseOutput) }
Python
def update_database(self, kms_id): print("Updating database") try: result = self.client.update_database(DatabaseName=Constant.DATABASE_NAME, KmsKeyId=kms_id) print("Database [%s] was updated to use kms [%s] successfully" % (Constant.DATABASE_NAME, result['Database']['KmsKeyId'])) except self.client.exceptions.ResourceNotFoundException: print("Database doesn't exist") except Exception as err: print("Update database failed:", err)
Node.js

O trecho de código a seguir usa o SDK AWS para o JavaScript v3. Para mais informações sobre como instalar o cliente e o uso, consulte Timestream Write Client - AWS SDK para JavaScript v3.

Consulte também Class UpdateDatabaseCommand e UpdateDatabase.

import { TimestreamWriteClient, UpdateDatabaseCommand } from "@aws-sdk/client-timestream-write"; const writeClient = new TimestreamWriteClient({ region: "us-east-1" }); let updatedKmsKeyId = "<updatedKmsKeyId>"; const params = { DatabaseName: "testDbFromNode", KmsKeyId: updatedKmsKeyId }; const command = new UpdateDatabaseCommand(params); try { const data = await writeClient.send(command); console.log(`Database ${data.Database.DatabaseName} updated kmsKeyId to ${updatedKmsKeyId}`); } catch (error) { if (error.code === 'ResourceNotFoundException') { console.log("Database doesn't exist."); } else { console.log("Update database failed.", error); } }

O trecho de código a seguir usa o SDK AWS para o estilo for JavaScript V2. Ele se baseia no aplicativo de amostra no aplicativo de amostra Node.js do Amazon Timestream para LiveAnalytics no GitHub.

async function updateDatabase(updatedKmsKeyId) { if (updatedKmsKeyId === undefined) { console.log("Skipping UpdateDatabase; KmsKeyId was not given"); return; } console.log("Updating Database"); const params = { DatabaseName: constants.DATABASE_NAME, KmsKeyId: updatedKmsKeyId } const promise = writeClient.updateDatabase(params).promise(); await promise.then( (data) => { console.log(`Database ${data.Database.DatabaseName} updated kmsKeyId to ${updatedKmsKeyId}`); }, (err) => { if (err.code === 'ResourceNotFoundException') { console.log("Database doesn't exist."); } else { console.log("Update database failed.", err); } } ); }
.NET
public async Task UpdateDatabase(String updatedKmsKeyId) { Console.WriteLine("Updating Database"); try { var updateDatabaseRequest = new UpdateDatabaseRequest { DatabaseName = Constants.DATABASE_NAME, KmsKeyId = updatedKmsKeyId }; UpdateDatabaseResponse response = await writeClient.UpdateDatabaseAsync(updateDatabaseRequest); Console.WriteLine($"Database {Constants.DATABASE_NAME} updated with KmsKeyId {updatedKmsKeyId}"); } catch (ResourceNotFoundException) { Console.WriteLine("Database does not exist."); } catch (Exception e) { Console.WriteLine("Update database failed: " + e.ToString()); } } private void PrintDatabases(List<Database> databases) { foreach (Database database in databases) Console.WriteLine($"Database:{database.DatabaseName}"); }