Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Daten werden in azure Confidential Ledger auf zwei primäre Arten strukturiert: Transaktions-ID und Sammlungs-ID (oder Subledger-ID). Jeder Schreibvorgang generiert eine eindeutige Transaktions-ID, die zum Abrufen von Einträgen, Abrufen von Bestätigungen oder zum Ausführen anderer Vorgänge verwendet werden kann. Sammlungs-IDs sind vom Benutzer angegebene Schlüssel (optional), mit denen Sie Einträge gruppieren oder eindeutig identifizieren können, sodass effizientere Datenabrufe und -verwaltung möglich sind. Diese Seite zeigt Beispiele zum Erstellen von Ledgereinträgen, abrufen von Einträgen nach Transaktions-ID und Listeneinträgen innerhalb eines Bereichs oder einer Sammlung.
Darüber hinaus können Daten mithilfe von Tags (in der Vorschau) organisiert und abgefragt werden, die eine verbesserte Datenverwaltung in Sammlungen ermöglichen, indem sie als Sekundärschlüssel fungieren.
TransactionID
Jeder Schreibvorgang, der in das Hauptbuch (Ledger) geschrieben wird, generiert eine Transaktions-ID, die in der Antwort vom Schreibendpunkt zurückgegeben wird. Es sieht wie im folgenden Beispiel aus:
sample_entry = {"contents": "Hello world!"}
append_result = ledger_client.create_ledger_entry(entry=sample_entry)
print(f"Transaction ID: {append_result['transactionId']}")
Antwort:
Transaction ID: 2.10
Die Transaktions-ID in der Antwort kann verwendet werden, um den Eintrag abzurufen oder andere Vorgänge auszuführen, z. B. den Beleg abzurufen usw. Es ist auch möglich, eine Liste von Einträgen abzurufen, indem ein Bereich von Transaktions-ID-Parametern bereitgestellt wird, ähnlich wie im folgenden Beispiel.
# Get the latest transaction to the ledger default/global table
get_result = ledger_client.get_current_ledger_entry()
# Get one transaction
get_result = ledger_client.get_ledger_entry(transaction_id=2.10)
# Get a list of transactions within a range
list_result = ledger_client.list_ledger_entries(from_transaction_id=2.1, to_transaction_id=2.50)
Sammlungs-ID
Eine Sammlungs-ID (auch als Subledger-ID bezeichnet) in Azure Ledger ist ein optionaler, vom Benutzer festgelegter Schlüssel für Einträge, die ins Ledger geschrieben werden. Sie bietet eine Möglichkeit, den geschriebenen Daten einen Schlüssel oder eine Markierung hinzuzufügen, die dann zum späteren Abrufen der Daten verwendet werden können.
Die Sammlungs-ID sind Zeichenfolgen und haben zurzeit keine Größenbeschränkung. Dies bedeutet, dass die maximale Größe vom Http-Anforderungsgrößenlimit abhängig ist.
Sie können als eindeutige Schlüssel für jeden Eintrag verwendet werden, der in das Hauptbuch geschrieben wird, oder zur Gruppierung eines Unterabschnitts von Einträgen.
Wenn keine Sammlungs-ID angegeben ist, werden die Daten in die Standardtabelle geschrieben (als subledger-0 bezeichnet).
Um eine Sammlungs-ID anzugeben, muss der Benutzer den CollectionID-Parameter während der Schreibanforderung angeben.
sample_entry = {"contents": "Secret recipe ingredients...!"}
append_result = ledger_client.create_ledger_entry(entry=sample_entry, collection_id="icecream-flavors")
Die Transaktion kann dann abgerufen werden, indem die collection ID und die transaction ID während eines Lesevorgangs angegeben werden oder nur die Sammlungs-ID in list-Vorgängen angegeben wird.
# Get the latest transaction in a collection
get_result = ledger_client.get_ledger_entry(collection_id="icecream-flavors")
# Get one specific in a collection
list_result = ledger_client.get_ledger_entry(transaction_id=2.68,collection_id="icecream-flavors")
# Get all entries in a collection
list_result = ledger_client.list_ledger_entries(collection_id="icecream-flavors")
for entry in list_result:
print(f"Transaction ID: {entry['transactionId']}")
print(f"Contents: {entry['contents']}")
Es ist auch möglich, eine Liste von Einträgen in einer Auflistung abzurufen, indem sie sowohl die Sammlungs-ID als auch einen Bereich von Transaktions-ID-Parametern angeben.
list_result = ledger_client.list_ledger_entries(from_transaction_id=2.1, to_transaction_id=2.50, collection_id="icecream-flavors")
Tags (Vorschau)
Das Hinzufügen von Tags zu einer Sammlung ist ein Vorschaufeature, das mit den neuesten Vorschauversionen des Ledgers zur Verfügung steht. Führen Sie für den Zugriff ein Upgrade auf SDK-Versionen auf Basis der REST-API-Referenz 2024-12-09-preview oder neuer aus.
Darüber hinaus ist dieses Feature auf vertrauliche Ledgers beschränkt, die vom Public Ledger-Typ sind. Der Ledger-Typ Privat wird nicht unterstützt.
Sie ermöglichen eine verbesserte Verwaltung von Daten innerhalb einer Sammlung, indem sie als Sekundärschlüssel für eine Sammlung von Daten fungiert. Tags sind auf 64 Zeichen beschränkt. Jede Transaktion kann bis zu fünf Tags unterstützen. Wenn ein Fehler im Zusammenhang mit der Anzahl der unterstützten Tags angezeigt wird und ein höherer Grenzwert erforderlich ist, wenden Sie sich an den Support.
Um Tags in einer Auflistung zu verwenden, muss der Parameter "Tags" angegeben werden.
# multiple tags can be specified using commas.
append_result = ledger_client.create_ledger_entry(entry=sample_entry, collection_id="icecream-flavors", tags="chocolate,vanilla")
Das Abrufen von Einträgen kann wie zuvor erfolgen:
# Get all entries in a collection which has a specified tag. Only one tag is supported per query during a Read operation. Only list/ranged operations are supported with tags.
list_result = ledger_client.list_ledger_entries(collection_id="icecream-flavors", tag="chocolate")
for entry in list_result:
print(f"Transaction ID: {entry['transactionId']}")
print(f"Contents: {entry['contents']}")