Etapa 2: Testar a conectividade com o ledger - Banco de dados Amazon Quantum Ledger (AmazonQLDB)

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á.

Etapa 2: Testar a conectividade com o ledger

Importante

Aviso de fim do suporte: os clientes existentes poderão usar a Amazon QLDB até o final do suporte em 31/07/2025. Para obter mais detalhes, consulte Migrar um Amazon QLDB Ledger para o Amazon Aurora Postgre. SQL

Nesta etapa, você verifica se pode se conectar ao vehicle-registration livro contábil na Amazon QLDB usando o endpoint de dados transacionais. API

Para testar a conexão com o ledger
  1. Use o programa a seguir (ConnectToLedger.ts) para criar uma conexão de sessão de dados com o ledger vehicle-registration.

    2.x
    /* * Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: MIT-0 * * Permission is hereby granted, free of charge, to any person obtaining a copy of this * software and associated documentation files (the "Software"), to deal in the Software * without restriction, including without limitation the rights to use, copy, modify, * merge, publish, distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ import { QldbDriver, RetryConfig } from "amazon-qldb-driver-nodejs"; import { ClientConfiguration } from "aws-sdk/clients/qldbsession"; import { LEDGER_NAME } from "./qldb/Constants"; import { error, log } from "./qldb/LogUtil"; const qldbDriver: QldbDriver = createQldbDriver(); /** * Create a driver for creating sessions. * @param ledgerName The name of the ledger to create the driver on. * @param serviceConfigurationOptions The configurations for the AWS SDK client that the driver uses. * @returns The driver for creating sessions. */ export function createQldbDriver( ledgerName: string = LEDGER_NAME, serviceConfigurationOptions: ClientConfiguration = {} ): QldbDriver { const retryLimit = 4; const maxConcurrentTransactions = 10; //Use driver's default backoff function (and hence, no second parameter provided to RetryConfig) const retryConfig: RetryConfig = new RetryConfig(retryLimit); const qldbDriver: QldbDriver = new QldbDriver(ledgerName, serviceConfigurationOptions, maxConcurrentTransactions, retryConfig); return qldbDriver; } export function getQldbDriver(): QldbDriver { return qldbDriver; } /** * Connect to a session for a given ledger using default settings. * @returns Promise which fulfills with void. */ const main = async function(): Promise<void> { try { log("Listing table names..."); const tableNames: string[] = await qldbDriver.getTableNames(); tableNames.forEach((tableName: string): void => { log(tableName); }); } catch (e) { error(`Unable to create session: ${e}`); } } if (require.main === module) { main(); }
    1.x
    /* * Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: MIT-0 * * Permission is hereby granted, free of charge, to any person obtaining a copy of this * software and associated documentation files (the "Software"), to deal in the Software * without restriction, including without limitation the rights to use, copy, modify, * merge, publish, distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ import { QldbDriver } from "amazon-qldb-driver-nodejs"; import { ClientConfiguration } from "aws-sdk/clients/qldbsession"; import { LEDGER_NAME } from "./qldb/Constants"; import { error, log } from "./qldb/LogUtil"; const qldbDriver: QldbDriver = createQldbDriver(); /** * Create a driver for creating sessions. * @param ledgerName The name of the ledger to create the driver on. * @param serviceConfigurationOptions The configurations for the AWS SDK client that the driver uses. * @returns The driver for creating sessions. */ export function createQldbDriver( ledgerName: string = LEDGER_NAME, serviceConfigurationOptions: ClientConfiguration = {} ): QldbDriver { const qldbDriver: QldbDriver = new QldbDriver(ledgerName, serviceConfigurationOptions); return qldbDriver; } export function getQldbDriver(): QldbDriver { return qldbDriver; } /** * Connect to a session for a given ledger using default settings. * @returns Promise which fulfills with void. */ var main = async function(): Promise<void> { try { log("Listing table names..."); const tableNames: string[] = await qldbDriver.getTableNames(); tableNames.forEach((tableName: string): void => { log(tableName); }); } catch (e) { error(`Unable to create session: ${e}`); } } if (require.main === module) { main(); }
    nota

    Para executar transações de dados em seu livro contábil, você deve criar um objeto de QLDB driver para se conectar a um livro contábil especificado. Esse é um objeto cliente diferente do objeto qldbClient que você usou na etapa anterior para criar o ledger. Esse cliente anterior é usado somente para executar as API operações de gerenciamento listadas noQLDBAPIReferência da Amazon.

  2. Para executar o programa transpilado, digite o comando a seguir.

    node dist/ConnectToLedger.js

Para criar tabelas no ledger vehicle-registration, vá para Etapa 3: criar tabelas, índices e dados de amostra.