Partilhar via


ConfidentialLedgerClient.GetReceipt(String, RequestContext) Método

Definição

[Método protocol] Obtém um recibo certificando o conteúdo do razão em uma ID de transação específica.

  • Esse método de protocolo permite a criação explícita da solicitação e o processamento da resposta para cenários avançados.
public virtual Azure.Response GetReceipt (string transactionId, Azure.RequestContext context = default);
abstract member GetReceipt : string * Azure.RequestContext -> Azure.Response
override this.GetReceipt : string * Azure.RequestContext -> Azure.Response
Public Overridable Function GetReceipt (transactionId As String, Optional context As RequestContext = Nothing) As Response

Parâmetros

transactionId
String

Identifica uma transação de gravação.

context
RequestContext

O contexto de solicitação, que pode substituir os comportamentos padrão do pipeline do cliente por chamada.

Retornos

A resposta retornada do serviço.

Exceções

transactionId é nulo.

transactionId é uma cadeia de caracteres vazia e esperava-se que não estivesse vazia.

O serviço retornou um código de status sem êxito.

Exemplos

Este exemplo mostra como chamar GetReceipt com os parâmetros necessários e analisar o resultado.

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

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

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("receipt").GetProperty("cert").ToString());
Console.WriteLine(result.GetProperty("receipt").GetProperty("leaf").ToString());
Console.WriteLine(result.GetProperty("receipt").GetProperty("leafComponents").GetProperty("claimsDigest").ToString());
Console.WriteLine(result.GetProperty("receipt").GetProperty("leafComponents").GetProperty("commitEvidence").ToString());
Console.WriteLine(result.GetProperty("receipt").GetProperty("leafComponents").GetProperty("writeSetDigest").ToString());
Console.WriteLine(result.GetProperty("receipt").GetProperty("nodeId").ToString());
Console.WriteLine(result.GetProperty("receipt").GetProperty("proof")[0].GetProperty("left").ToString());
Console.WriteLine(result.GetProperty("receipt").GetProperty("proof")[0].GetProperty("right").ToString());
Console.WriteLine(result.GetProperty("receipt").GetProperty("root").ToString());
Console.WriteLine(result.GetProperty("receipt").GetProperty("serviceEndorsements")[0].ToString());
Console.WriteLine(result.GetProperty("receipt").GetProperty("signature").ToString());
Console.WriteLine(result.GetProperty("state").ToString());
Console.WriteLine(result.GetProperty("transactionId").ToString());

Comentários

Abaixo está o esquema JSON para o conteúdo da resposta.

Corpo da resposta:

Esquema para TransactionReceipt:

{
  receipt: {
    cert: string, # Optional.
    leaf: string, # Optional.
    leafComponents: {
      claimsDigest: string, # Optional.
      commitEvidence: string, # Optional.
      writeSetDigest: string, # Optional.
    }, # Optional.
    nodeId: string, # Required.
    proof: [
      {
        left: string, # Optional.
        right: string, # Optional.
      }
    ], # Required.
    root: string, # Optional.
    serviceEndorsements: [string], # Optional.
    signature: string, # Required.
  }, # Optional.
  state: "Loading" | "Ready", # Required. State of a ledger query.
  transactionId: string, # Required. 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.
}

Aplica-se a