ConfidentialLedgerClient.GetLedgerEntryAsync 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 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
Azure SDK for .NET