Compartilhar via


Insights.CreateOrUpdateAsync Método

Definição

Cria ou atualiza a entidade de insight.

public virtual System.Threading.Tasks.Task<Azure.Response> CreateOrUpdateAsync (string partyId, string modelId, string resourceType, string resourceId, string insightId, Azure.Core.RequestContent content, Azure.RequestContext context = default);
abstract member CreateOrUpdateAsync : string * string * string * string * string * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
override this.CreateOrUpdateAsync : string * string * string * string * string * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
Public Overridable Function CreateOrUpdateAsync (partyId As String, modelId As String, resourceType As String, resourceId As String, insightId As String, content As RequestContent, Optional context As RequestContext = Nothing) As Task(Of Response)

Parâmetros

partyId
String

ID da parte associada.

modelId
String

ID do modelo associado. Pode ser 'CorrelationModelId', 'SensorPlacementModelId', 'SoilMoistureModelId' ou qualquer ID da solução.

resourceType
String

Tipo de recurso associado ao registro.

resourceId
String

ID do recurso associado.

insightId
String

ID do recurso de insight.

content
RequestContent

O conteúdo a ser enviado como o corpo da solicitação. Os detalhes do esquema do corpo da solicitação estão na seção Comentários abaixo.

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. Os detalhes do esquema do corpo da resposta estão na seção Comentários abaixo.

Exceções

partyId, modelId, resourceType, resourceIdinsightId ou content é nulo.

partyId, modelId, resourceTyperesourceId ou insightId é 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 CreateOrUpdateAsync com os parâmetros necessários e analisar o resultado.

var credential = new DefaultAzureCredential();
var client = new FarmBeatsClient(credential).GetInsightsClient(<2022-11-01-preview>);

var data = new {};

Response response = await client.CreateOrUpdateAsync("<partyId>", "<modelId>", "<resourceType>", "<resourceId>", "<insightId>", RequestContent.Create(data));

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

Este exemplo mostra como chamar CreateOrUpdateAsync com todos os parâmetros e conteúdo da solicitação e como analisar o resultado.

var credential = new DefaultAzureCredential();
var client = new FarmBeatsClient(credential).GetInsightsClient(<2022-11-01-preview>);

var data = new {
    modelVersion = "<modelVersion>",
    insightStartDateTime = "2022-05-10T18:57:31.2311892Z",
    insightEndDateTime = "2022-05-10T18:57:31.2311892Z",
    measurements = new {
        key = new {
            unit = "<unit>",
            value = 123.45d,
        },
    },
    status = "<status>",
    name = "<name>",
    description = "<description>",
    properties = new {
        key = new {},
    },
};

Response response = await client.CreateOrUpdateAsync("<partyId>", "<modelId>", "<resourceType>", "<resourceId>", "<insightId>", RequestContent.Create(data));

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("partyId").ToString());
Console.WriteLine(result.GetProperty("modelId").ToString());
Console.WriteLine(result.GetProperty("resourceType").ToString());
Console.WriteLine(result.GetProperty("resourceId").ToString());
Console.WriteLine(result.GetProperty("modelVersion").ToString());
Console.WriteLine(result.GetProperty("attachmentsLink").ToString());
Console.WriteLine(result.GetProperty("insightStartDateTime").ToString());
Console.WriteLine(result.GetProperty("insightEndDateTime").ToString());
Console.WriteLine(result.GetProperty("measurements").GetProperty("<test>").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("measurements").GetProperty("<test>").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("id").ToString());
Console.WriteLine(result.GetProperty("status").ToString());
Console.WriteLine(result.GetProperty("createdDateTime").ToString());
Console.WriteLine(result.GetProperty("modifiedDateTime").ToString());
Console.WriteLine(result.GetProperty("eTag").ToString());
Console.WriteLine(result.GetProperty("name").ToString());
Console.WriteLine(result.GetProperty("description").ToString());
Console.WriteLine(result.GetProperty("createdBy").ToString());
Console.WriteLine(result.GetProperty("modifiedBy").ToString());
Console.WriteLine(result.GetProperty("properties").GetProperty("<test>").ToString());

Comentários

Abaixo está o esquema JSON para os conteúdos de solicitação e resposta.

Corpo da solicitação:

Esquema para Insight:

{
  partyId: string, # Optional. Id of the associated party.
  modelId: string, # Optional. Id of the associated model.
  resourceType: "Party" | "Farm" | "Field" | "SeasonalField" | "Boundary", # Optional. Resource type associated with the record.
  resourceId: string, # Optional. Id of the associated resource.
  modelVersion: string, # Optional. Version of the associated model.
  attachmentsLink: string, # Optional. Gets link for attachments.
  insightStartDateTime: string (ISO 8601 Format), # Optional. Start date to which the insight is related.
  insightEndDateTime: string (ISO 8601 Format), # Optional. End date to which the insight is related.
  measurements: Dictionary<string, Measure>, # Optional. Measures to capture insights results.
  id: string, # Optional. Id of the resource.
  status: string, # Optional. Status of the resource.
  createdDateTime: string (ISO 8601 Format), # Optional. Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.
  modifiedDateTime: string (ISO 8601 Format), # Optional. Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.
  eTag: string, # Optional. The ETag value to implement optimistic concurrency.
  name: string, # Optional. Name to identify resource.
  description: string, # Optional. Textual description of the resource.
  createdBy: string, # Optional. Created by user/tenant id.
  modifiedBy: string, # Optional. Modified by user/tenant id.
  properties: Dictionary<string, any>, # Optional. A collection of key value pairs that belongs to the resource.
Each pair must not have a key greater than 50 characters
and must not have a value greater than 150 characters.
Note: A maximum of 25 key value pairs can be provided for a resource and
only string, numeral and datetime (yyyy-MM-ddTHH:mm:ssZ) values are supported.
}

Corpo da resposta:

Esquema para Insight:

{
  partyId: string, # Optional. Id of the associated party.
  modelId: string, # Optional. Id of the associated model.
  resourceType: "Party" | "Farm" | "Field" | "SeasonalField" | "Boundary", # Optional. Resource type associated with the record.
  resourceId: string, # Optional. Id of the associated resource.
  modelVersion: string, # Optional. Version of the associated model.
  attachmentsLink: string, # Optional. Gets link for attachments.
  insightStartDateTime: string (ISO 8601 Format), # Optional. Start date to which the insight is related.
  insightEndDateTime: string (ISO 8601 Format), # Optional. End date to which the insight is related.
  measurements: Dictionary<string, Measure>, # Optional. Measures to capture insights results.
  id: string, # Optional. Id of the resource.
  status: string, # Optional. Status of the resource.
  createdDateTime: string (ISO 8601 Format), # Optional. Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.
  modifiedDateTime: string (ISO 8601 Format), # Optional. Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.
  eTag: string, # Optional. The ETag value to implement optimistic concurrency.
  name: string, # Optional. Name to identify resource.
  description: string, # Optional. Textual description of the resource.
  createdBy: string, # Optional. Created by user/tenant id.
  modifiedBy: string, # Optional. Modified by user/tenant id.
  properties: Dictionary<string, any>, # Optional. A collection of key value pairs that belongs to the resource.
Each pair must not have a key greater than 50 characters
and must not have a value greater than 150 characters.
Note: A maximum of 25 key value pairs can be provided for a resource and
only string, numeral and datetime (yyyy-MM-ddTHH:mm:ssZ) values are supported.
}

Aplica-se a