Étape 1 : Créer un nouveau registre - Amazon Quantum Ledger Database (Amazon QLDB)

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Étape 1 : Créer un nouveau registre

Au cours de cette étape, vous allez créer un nouveau registre Amazon QLDB nommévehicle-registration.

Pour créer un nouveau registre
  1. Consultez le fichier suivant (constants.py), qui contient des valeurs constantes utilisées par tous les autres programmes de ce didacticiel.

    # 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. class Constants: """ Constant values used throughout this tutorial. """ LEDGER_NAME = "vehicle-registration" VEHICLE_REGISTRATION_TABLE_NAME = "VehicleRegistration" VEHICLE_TABLE_NAME = "Vehicle" PERSON_TABLE_NAME = "Person" DRIVERS_LICENSE_TABLE_NAME = "DriversLicense" LICENSE_NUMBER_INDEX_NAME = "LicenseNumber" GOV_ID_INDEX_NAME = "GovId" VEHICLE_VIN_INDEX_NAME = "VIN" LICENSE_PLATE_NUMBER_INDEX_NAME = "LicensePlateNumber" PERSON_ID_INDEX_NAME = "PersonId" JOURNAL_EXPORT_S3_BUCKET_NAME_PREFIX = "qldb-tutorial-journal-export" USER_TABLES = "information_schema.user_tables" S3_BUCKET_ARN_TEMPLATE = "arn:aws:s3:::" LEDGER_NAME_WITH_TAGS = "tags" RETRY_LIMIT = 4
  2. Utilisez le programme suivant (create_ledger.py) pour créer un registre nommévehicle-registration.

    # 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. # # This code expects that you have AWS credentials setup per: # https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html from logging import basicConfig, getLogger, INFO from time import sleep from boto3 import client from pyqldbsamples.constants import Constants logger = getLogger(__name__) basicConfig(level=INFO) qldb_client = client('qldb') LEDGER_CREATION_POLL_PERIOD_SEC = 10 ACTIVE_STATE = "ACTIVE" def create_ledger(name): """ Create a new ledger with the specified name. :type name: str :param name: Name for the ledger to be created. :rtype: dict :return: Result from the request. """ logger.info("Let's create the ledger named: {}...".format(name)) result = qldb_client.create_ledger(Name=name, PermissionsMode='ALLOW_ALL') logger.info('Success. Ledger state: {}.'.format(result.get('State'))) return result def wait_for_active(name): """ Wait for the newly created ledger to become active. :type name: str :param name: The ledger to check on. :rtype: dict :return: Result from the request. """ logger.info('Waiting for ledger to become active...') while True: result = qldb_client.describe_ledger(Name=name) if result.get('State') == ACTIVE_STATE: logger.info('Success. Ledger is active and ready to use.') return result logger.info('The ledger is still creating. Please wait...') sleep(LEDGER_CREATION_POLL_PERIOD_SEC) def main(ledger_name=Constants.LEDGER_NAME): """ Create a ledger and wait for it to be active. """ try: create_ledger(ledger_name) wait_for_active(ledger_name) except Exception as e: logger.exception('Unable to create the ledger!') raise e if __name__ == '__main__': main()
    Note
    • Lors de l'create_ledgerappel, vous devez spécifier un nom de registre et un mode d'autorisation. Nous vous recommandons d'utiliser le mode d'STANDARDautorisations pour optimiser la sécurité des données de votre registre.

    • Lors de la création d'un registre, la protection contre la suppression est activée par défaut. Il s'agit d'une fonctionnalité de QLDB qui empêche la suppression de registres par n'importe quel utilisateur. Vous avez la possibilité de désactiver la protection contre la suppression lors de la création d'un registre à l'aide de l'API QLDB ou duAWS Command Line Interface (AWS CLI).

    • En option, vous pouvez également spécifier des étiquettes à associer à votre registre.

  3. Pour exécuter le programme, saisissez la commande suivante.

    python create_ledger.py

Pour vérifier votre connexion au nouveau registre, passez àÉtape 2 : testez la connectivité au registre.