ConfidentialLedgerClient.GetLedgerEntry Méthode

Définition

[Méthode de protocole] Obtient l’entrée de registre à l’ID de transaction spécifié. Un ID de collection peut éventuellement être spécifié pour indiquer la collection à partir de laquelle extraire la valeur.

  • Cette méthode de protocole permet la création explicite de la demande et le traitement de la réponse pour les scénarios avancés.
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

Paramètres

transactionId
String

Identifie une transaction d’écriture.

collectionId
String

ID de collection.

context
RequestContext

Contexte de la demande, qui peut remplacer les comportements par défaut du pipeline client par appel.

Retours

Réponse retournée par le service.

Exceptions

transactionId a la valeur null.

transactionId est une chaîne vide et devait être non vide.

Le service a retourné un code de status non réussi.

Exemples

Cet exemple montre comment appeler GetLedgerEntry avec les paramètres requis et analyser le résultat.

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());

Cet exemple montre comment appeler GetLedgerEntry avec tous les paramètres et comment analyser le résultat.

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());

Remarques

Pour retourner des entrées de registre plus anciennes, les sections pertinentes du registre doivent être lues à partir du disque et validées. Pour empêcher le blocage dans l’enclave, la réponse indique si l’entrée est prête et fait partie de la réponse, ou si le chargement est toujours en cours.

Vous trouverez ci-dessous le schéma JSON pour la charge utile de réponse.

Corps de réponse :

Schéma pour 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.
}

S’applique à