Compartilhar via


ConfidentialLedgerClient.GetLedgerEntryAsync Método

Definição

[Método de protocolo] Obtém a entrada do razão na ID da transação especificada. Opcionalmente, uma ID de coleção pode ser especificada para indicar a coleção da qual buscar o valor.

  • 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> 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)

Parâmetros

transactionId
String

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

collectionId
String

A ID da coleçã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 GetLedgerEntryAsync 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.GetLedgerEntryAsync("<transactionId>");

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

Este exemplo mostra como chamar GetLedgerEntryAsync com todos os parâmetros e como 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.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());

Comentários

Para retornar entradas do razão mais antigas, as seções relevantes do razão devem ser lidas do disco e validadas. Para evitar o bloqueio dentro do enclave, a resposta indicará se a entrada está pronta e parte da resposta ou se o carregamento ainda está em andamento.

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

Corpo da resposta:

Esquema para 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.
}

Aplica-se a