Compartilhar via


NutrientAnalyses.CreateOrUpdateAsync Método

Definição

Cria ou atualiza um recurso de análise de nutrientes.

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

Parâmetros

partyId
String

Id do recurso da parte.

nutrientAnalysisId
String

ID do recurso de análise de nutrientes.

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, nutrientAnalysisId ou content é nulo.

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

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

var data = new {};

Response response = await client.CreateOrUpdateAsync("<partyId>", "<nutrientAnalysisId>", 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).GetNutrientAnalysesClient(<2022-11-01-preview>);

var data = new {
    parentId = "<parentId>",
    parentType = "PlantTissueAnalysis",
    unit = "<unit>",
    value = 123.45d,
    referenceValueLow = 123.45d,
    referenceValueHigh = 123.45d,
    classification = "<classification>",
    recommendation = "<recommendation>",
    products = new[] {
        new {
            rate = "<rate>",
            instruction = "<instruction>",
            product = "<product>",
        }
    },
    status = "<status>",
    source = "<source>",
    name = "<name>",
    description = "<description>",
    properties = new {
        key = new {},
    },
};

Response response = await client.CreateOrUpdateAsync("<partyId>", "<nutrientAnalysisId>", RequestContent.Create(data));

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("partyId").ToString());
Console.WriteLine(result.GetProperty("parentId").ToString());
Console.WriteLine(result.GetProperty("parentType").ToString());
Console.WriteLine(result.GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("referenceValueLow").ToString());
Console.WriteLine(result.GetProperty("referenceValueHigh").ToString());
Console.WriteLine(result.GetProperty("classification").ToString());
Console.WriteLine(result.GetProperty("recommendation").ToString());
Console.WriteLine(result.GetProperty("products")[0].GetProperty("rate").ToString());
Console.WriteLine(result.GetProperty("products")[0].GetProperty("instruction").ToString());
Console.WriteLine(result.GetProperty("products")[0].GetProperty("product").ToString());
Console.WriteLine(result.GetProperty("id").ToString());
Console.WriteLine(result.GetProperty("eTag").ToString());
Console.WriteLine(result.GetProperty("status").ToString());
Console.WriteLine(result.GetProperty("createdDateTime").ToString());
Console.WriteLine(result.GetProperty("modifiedDateTime").ToString());
Console.WriteLine(result.GetProperty("source").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 as cargas de solicitação e resposta.

Corpo da solicitação:

Esquema para NutrientAnalysis:

{
  partyId: string, # Optional. Party id for this nutrient analysis.
  parentId: string, # Optional. Parent id for this nutrient analysis.
  parentType: "PlantTissueAnalysis", # Optional. Parent type for this nutrient analysis.
i.e. PlantTissueAnalysis.
  unit: string, # Optional. Unit for this nutrient analysis.
  value: number, # Optional. Value for this nutrient analysis.
  referenceValueLow: number, # Optional. Reference value low for this nutrient analysis.
  referenceValueHigh: number, # Optional. Reference value high for this nutrient analysis.
  classification: string, # Optional. Classification for this nutrient analysis.
  recommendation: string, # Optional. Recommendation for this nutrient analysis.
  products: [
    {
      rate: string, # Optional. Rate of the product.
      instruction: string, # Optional. Instruction of the resource.
      product: string, # Optional. Product of the resource.
    }
  ], # Optional. Products for this nutrient analysis.
  id: string, # Optional. Unique resource ID.
  eTag: string, # Optional. The ETag value to implement optimistic concurrency.
  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.
  source: string, # Optional. Source of the resource.
  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 NutrientAnalysis:

{
  partyId: string, # Optional. Party id for this nutrient analysis.
  parentId: string, # Optional. Parent id for this nutrient analysis.
  parentType: "PlantTissueAnalysis", # Optional. Parent type for this nutrient analysis.
i.e. PlantTissueAnalysis.
  unit: string, # Optional. Unit for this nutrient analysis.
  value: number, # Optional. Value for this nutrient analysis.
  referenceValueLow: number, # Optional. Reference value low for this nutrient analysis.
  referenceValueHigh: number, # Optional. Reference value high for this nutrient analysis.
  classification: string, # Optional. Classification for this nutrient analysis.
  recommendation: string, # Optional. Recommendation for this nutrient analysis.
  products: [
    {
      rate: string, # Optional. Rate of the product.
      instruction: string, # Optional. Instruction of the resource.
      product: string, # Optional. Product of the resource.
    }
  ], # Optional. Products for this nutrient analysis.
  id: string, # Optional. Unique resource ID.
  eTag: string, # Optional. The ETag value to implement optimistic concurrency.
  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.
  source: string, # Optional. Source of the resource.
  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