ConfidentialLedgerClient.GetReceiptAsync(String, RequestContext) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
[Método de protocolo] 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 do processamento da resposta para cenários avançados.
public virtual System.Threading.Tasks.Task<Azure.Response> GetReceiptAsync (string transactionId, Azure.RequestContext context = default);
abstract member GetReceiptAsync : string * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
override this.GetReceiptAsync : string * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
Public Overridable Function GetReceiptAsync (transactionId As String, Optional context As RequestContext = Nothing) As Task(Of 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 era esperado que não estivesse vazio.
O serviço retornou um código de status sem êxito.
Exemplos
Este exemplo mostra como chamar GetReceiptAsync 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 = await client.GetReceiptAsync("<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 de 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
Azure SDK for .NET