Freigeben über


ConfidentialLedgerClient.GetLedgerEntryAsync 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 System.Threading.Tasks.Task<Azure.Response> GetLedgerEntryAsync (string transactionId, string collectionId = default, Azure.RequestContext context = default);
abstract member GetLedgerEntryAsync : string * string * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
override this.GetLedgerEntryAsync : string * string * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
Public Overridable Function GetLedgerEntryAsync (transactionId As String, Optional collectionId As String = Nothing, Optional context As RequestContext = Nothing) As Task(Of 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 GetLedgerEntryAsync 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 = await client.GetLedgerEntryAsync("<transactionId>");

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

In diesem Beispiel wird gezeigt, wie GetLedgerEntryAsync 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 = await client.GetLedgerEntryAsync("<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: