Schritt 8 (optional): Bereinigen von Ressourcen - Amazon Quantum Ledger Database (Amazon QLDB)

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Schritt 8 (optional): Bereinigen von Ressourcen

Sie können den vehicle-registration-Ledger weiterhin verwenden. Wenn Sie ihn nicht mehr benötigen, sollten Sie ihn jedoch löschen.

So löschen Sie den Ledger
  1. Verwenden Sie das folgende Programm (delete_ledger.py), um Ihren vehicle-registration-Ledger und all seine Inhalte zu löschen.

    # 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 from pyqldbsamples.describe_ledger import describe_ledger logger = getLogger(__name__) basicConfig(level=INFO) qldb_client = client('qldb') LEDGER_DELETION_POLL_PERIOD_SEC = 20 def delete_ledger(ledger_name): """ Send a request to QLDB to delete the specified ledger. :type ledger_name: str :param ledger_name: Name for the ledger to be deleted. :rtype: dict :return: Result from the request. """ logger.info('Attempting to delete the ledger with name: {}...'.format(ledger_name)) result = qldb_client.delete_ledger(Name=ledger_name) logger.info('Success.') return result def wait_for_deleted(ledger_name): """ Wait for the ledger to be deleted. :type ledger_name: str :param ledger_name: The ledger to check on. """ logger.info('Waiting for the ledger to be deleted...') while True: try: describe_ledger(ledger_name) logger.info('The ledger is still being deleted. Please wait...') sleep(LEDGER_DELETION_POLL_PERIOD_SEC) except qldb_client.exceptions.ResourceNotFoundException: logger.info('Success. The ledger is deleted.') break def set_deletion_protection(ledger_name, deletion_protection): """ Update an existing ledger's deletion protection. :type ledger_name: str :param ledger_name: Name of the ledger to update. :type deletion_protection: bool :param deletion_protection: Enable or disable the deletion protection. :rtype: dict :return: Result from the request. """ logger.info("Let's set deletion protection to {} for the ledger with name {}.".format(deletion_protection, ledger_name)) result = qldb_client.update_ledger(Name=ledger_name, DeletionProtection=deletion_protection) logger.info('Success. Ledger updated: {}'.format(result)) def main(ledger_name=Constants.LEDGER_NAME): """ Delete a ledger. """ try: set_deletion_protection(ledger_name, False) delete_ledger(ledger_name) wait_for_deleted(ledger_name) except Exception as e: logger.exception('Unable to delete the ledger.') raise e if __name__ == '__main__': main()
    Anmerkung

    Wenn der Löschschutz für Ihr Ledger aktiviert ist, müssen Sie ihn zunächst deaktivieren, bevor Sie das Ledger mithilfe der QLDB-API löschen können.

    Die Datei delete_ledger.py weist auch eine Abhängigkeit vom folgenden Programm (describe_ledger.py) auf.

    # 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 boto3 import client from pyqldbsamples.constants import Constants logger = getLogger(__name__) basicConfig(level=INFO) qldb_client = client('qldb') def describe_ledger(ledger_name): """ Describe a ledger. :type ledger_name: str :param ledger_name: Name of the ledger to describe. """ logger.info('describe ledger with name: {}.'.format(ledger_name)) result = qldb_client.describe_ledger(Name=ledger_name) result.pop('ResponseMetadata') logger.info('Success. Ledger description: {}.'.format(result)) return result def main(ledger_name=Constants.LEDGER_NAME): """ Describe a QLDB ledger. """ try: describe_ledger(ledger_name) except Exception as e: logger.exception('Unable to describe a ledger.') raise e if __name__ == '__main__': main()
  2. Geben Sie den folgenden Befehl ein, um das Programm auszuführen.

    python delete_ledger.py