Freigeben über


ConfidentialLedgerClient.GetLedgerEntry Methode

Definition

[Protokollmethode] Ruft den Ledgereintrag an der angegebenen Transaktions-ID ab. Optional kann eine Sammlungs-ID angegeben werden, um die Auflistung anzugeben, aus der der Wert abgerufen werden soll.

  • Diese Protokollmethode ermöglicht die explizite Erstellung der Anforderung und Verarbeitung der Antwort für erweiterte Szenarien.
public virtual Azure.Response GetLedgerEntry (string transactionId, string collectionId = default, Azure.RequestContext context = default);
abstract member GetLedgerEntry : string * string * Azure.RequestContext -> Azure.Response
override this.GetLedgerEntry : string * string * Azure.RequestContext -> Azure.Response
Public Overridable Function GetLedgerEntry (transactionId As String, Optional collectionId As String = Nothing, Optional context As RequestContext = Nothing) As Response

Parameter

transactionId
String

Identifiziert eine Schreibtransaktion.

collectionId
String

Die Sammlungs-ID.

context
RequestContext

Der Anforderungskontext, der das Standardverhalten der Clientpipeline pro Aufruf außer Kraft setzen kann.

Gibt zurück

Die vom Dienst zurückgegebene Antwort.

Ausnahmen

transactionId ist NULL.

transactionId ist eine leere Zeichenfolge und wurde erwartet, dass sie nicht leer ist.

Der Dienst hat einen nicht erfolgreichen status Code zurückgegeben.

Beispiele

In diesem Beispiel wird gezeigt, wie GetLedgerEntry mit den erforderlichen Parametern aufgerufen und das Ergebnis analysiert wird.

var credential = new DefaultAzureCredential();
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new ConfidentialLedgerClient(endpoint, credential);

Response response = client.GetLedgerEntry("<transactionId>");

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("state").ToString());

In diesem Beispiel wird gezeigt, wie GetLedgerEntry mit allen Parametern aufgerufen und das Ergebnis analysiert wird.

var credential = new DefaultAzureCredential();
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new ConfidentialLedgerClient(endpoint, credential);

Response response = client.GetLedgerEntry("<transactionId>", "<collectionId>");

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("state").ToString());
Console.WriteLine(result.GetProperty("entry").GetProperty("contents").ToString());
Console.WriteLine(result.GetProperty("entry").GetProperty("collectionId").ToString());
Console.WriteLine(result.GetProperty("entry").GetProperty("transactionId").ToString());

Hinweise

Um ältere Ledgereinträge zurückzugeben, müssen die relevanten Abschnitte des Ledgers vom Datenträger gelesen und überprüft werden. Um eine Blockierung innerhalb der Enclave zu verhindern, gibt die Antwort an, ob der Eintrag bereit und Teil der Antwort ist oder ob das Laden noch ausgeführt wird.

Im Folgenden finden Sie das JSON-Schema für die Antwortnutzlast.

Antworttext:

Schema für LedgerQueryResult:

{
  state: "Loading" | "Ready", # Required. State of a ledger query.
  entry: {
    contents: string, # Required. Contents of the ledger entry.
    collectionId: string, # Optional.
    transactionId: string, # Optional. A unique identifier for the state of the ledger. If returned as part of a LedgerEntry, it indicates the state from which the entry was read.
  }, # Optional. The ledger entry found as a result of the query. This is only available if the query is in Ready state.
}

Gilt für: