Partager via


FarmOperationsDataIngestion.CreateJobAsync Méthode

Définition

Créez un travail d’ingestion de données d’opération de batterie de serveurs.

public virtual System.Threading.Tasks.Task<Azure.Operation<BinaryData>> CreateJobAsync (Azure.WaitUntil waitUntil, string jobId, Azure.Core.RequestContent content, Azure.RequestContext context = default);
abstract member CreateJobAsync : Azure.WaitUntil * string * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Operation<BinaryData>>
override this.CreateJobAsync : Azure.WaitUntil * string * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Operation<BinaryData>>
Public Overridable Function CreateJobAsync (waitUntil As WaitUntil, jobId As String, content As RequestContent, Optional context As RequestContext = Nothing) As Task(Of Operation(Of BinaryData))

Paramètres

waitUntil
WaitUntil

Completed si la méthode doit attendre pour retourner jusqu’à ce que l’opération de longue durée soit terminée sur le service ; Started si elle doit être retournée après le démarrage de l’opération. Pour plus d’informations sur les opérations de longue durée, consultez Exemples d’opérations de Long-Running Azure.Core.

jobId
String

ID de travail fourni par l’utilisateur.

content
RequestContent

Contenu à envoyer en tant que corps de la demande. Les détails du schéma du corps de la demande se trouvent dans la section Remarques ci-dessous.

context
RequestContext

Contexte de la demande, qui peut remplacer les comportements par défaut du pipeline client par appel.

Retours

du Operation<T> service qui contiendra un BinaryData objet une fois l’opération asynchrone sur le service terminée. Les détails du schéma du corps pour la valeur finale de l’opération se trouvent dans la section Remarques ci-dessous.

Exceptions

jobId ou content est null.

jobId est une chaîne vide et devait être non vide.

Le service a retourné un code de status non réussi.

Exemples

Cet exemple montre comment appeler CreateJobAsync avec les paramètres requis et demander le contenu, et comment analyser le résultat.

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

var data = new {
    partyId = "<partyId>",
    authProviderId = "<authProviderId>",
    startYear = 1234,
};

var operation = await client.CreateJobAsync(WaitUntil.Completed, "<jobId>", RequestContent.Create(data));

BinaryData data = operation.Value;
JsonElement result = JsonDocument.Parse(data.ToStream()).RootElement;
Console.WriteLine(result.GetProperty("partyId").ToString());
Console.WriteLine(result.GetProperty("authProviderId").ToString());
Console.WriteLine(result.GetProperty("startYear").ToString());

Cet exemple montre comment appeler CreateJobAsync avec tous les paramètres et le contenu de la demande, et comment analyser le résultat.

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

var data = new {
    partyId = "<partyId>",
    authProviderId = "<authProviderId>",
    operations = new[] {
        "<String>"
    },
    startYear = 1234,
    isIncremental = true,
    name = "<name>",
    description = "<description>",
    properties = new {
        key = new {},
    },
};

var operation = await client.CreateJobAsync(WaitUntil.Completed, "<jobId>", RequestContent.Create(data));

BinaryData data = operation.Value;
JsonElement result = JsonDocument.Parse(data.ToStream()).RootElement;
Console.WriteLine(result.GetProperty("partyId").ToString());
Console.WriteLine(result.GetProperty("authProviderId").ToString());
Console.WriteLine(result.GetProperty("operations")[0].ToString());
Console.WriteLine(result.GetProperty("startYear").ToString());
Console.WriteLine(result.GetProperty("isIncremental").ToString());
Console.WriteLine(result.GetProperty("id").ToString());
Console.WriteLine(result.GetProperty("status").ToString());
Console.WriteLine(result.GetProperty("durationInSeconds").ToString());
Console.WriteLine(result.GetProperty("message").ToString());
Console.WriteLine(result.GetProperty("errorCode").ToString());
Console.WriteLine(result.GetProperty("createdDateTime").ToString());
Console.WriteLine(result.GetProperty("lastActionDateTime").ToString());
Console.WriteLine(result.GetProperty("startTime").ToString());
Console.WriteLine(result.GetProperty("endTime").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());

Remarques

Vous trouverez ci-dessous le schéma JSON pour les charges utiles de requête et de réponse.

Corps de la demande :

Schéma pour FarmOperationDataIngestionJob:

{
  partyId: string, # Required. Party Id.
  authProviderId: string, # Required. Authentication provider Id.
  operations: [string], # Optional. List of operation types for which data needs to be downloaded. Available values: AllOperations, Application, Planting, Harvest, Tillage.
  startYear: number, # Required. Start Year (Minimum = 2000, Maximum = CurrentYear).
  isIncremental: boolean, # Optional. Use this to pull only the incremental changes from the last run.
  id: string, # Optional. Unique job id.
  status: string, # Optional. Status of the job.
Possible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.
  durationInSeconds: number, # Optional. Duration of the job in seconds.
  message: string, # Optional. Status message to capture more details of the job.
  errorCode: string, # Optional. Error Code when job failed.
  createdDateTime: string (ISO 8601 Format), # Optional. Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.
  lastActionDateTime: string (ISO 8601 Format), # Optional. Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.
  startTime: string (ISO 8601 Format), # Optional. Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.
  endTime: string (ISO 8601 Format), # Optional. Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.
  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.
}

Corps de réponse :

Schéma pour FarmOperationDataIngestionJob:

{
  partyId: string, # Required. Party Id.
  authProviderId: string, # Required. Authentication provider Id.
  operations: [string], # Optional. List of operation types for which data needs to be downloaded. Available values: AllOperations, Application, Planting, Harvest, Tillage.
  startYear: number, # Required. Start Year (Minimum = 2000, Maximum = CurrentYear).
  isIncremental: boolean, # Optional. Use this to pull only the incremental changes from the last run.
  id: string, # Optional. Unique job id.
  status: string, # Optional. Status of the job.
Possible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.
  durationInSeconds: number, # Optional. Duration of the job in seconds.
  message: string, # Optional. Status message to capture more details of the job.
  errorCode: string, # Optional. Error Code when job failed.
  createdDateTime: string (ISO 8601 Format), # Optional. Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.
  lastActionDateTime: string (ISO 8601 Format), # Optional. Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.
  startTime: string (ISO 8601 Format), # Optional. Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.
  endTime: string (ISO 8601 Format), # Optional. Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.
  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.
}

S’applique à