Compartilhar via


Weather.CreateDataIngestionJobAsync Método

Definição

Crie um trabalho de ingestão de dados meteorológicos.

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

Parâmetros

waitUntil
WaitUntil

Completed se o método deve aguardar para retornar até que a operação de execução prolongada seja concluída no serviço; Started se ele deve retornar depois de iniciar a operação. Para obter mais informações sobre operações de longa execução, consulte Exemplos de operação de Long-Running do Azure.Core.

jobId
String

ID do trabalho fornecida pelo usuário.

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

O Operation<T> do serviço que conterá um BinaryData objeto depois que a operação assíncrona no serviço for concluída. Os detalhes do esquema do corpo do valor final da operação estão na seção Comentários abaixo.

Exceções

jobId ou content é nulo.

jobId é 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 CreateDataIngestionJobAsync com os parâmetros necessários e o conteúdo da solicitação e como analisar o resultado.

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

var data = new {
    boundaryId = "<boundaryId>",
    partyId = "<partyId>",
    extensionId = "<extensionId>",
    extensionApiName = "<extensionApiName>",
    extensionApiInput = new {
        key = new {},
    },
};

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

BinaryData data = operation.Value;
JsonElement result = JsonDocument.Parse(data.ToStream()).RootElement;
Console.WriteLine(result.GetProperty("boundaryId").ToString());
Console.WriteLine(result.GetProperty("partyId").ToString());
Console.WriteLine(result.GetProperty("extensionId").ToString());
Console.WriteLine(result.GetProperty("extensionApiName").ToString());
Console.WriteLine(result.GetProperty("extensionApiInput").GetProperty("<test>").ToString());

Este exemplo mostra como chamar CreateDataIngestionJobAsync 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).GetWeatherClient(<2022-11-01-preview>);

var data = new {
    boundaryId = "<boundaryId>",
    partyId = "<partyId>",
    extensionId = "<extensionId>",
    extensionApiName = "<extensionApiName>",
    extensionApiInput = new {
        key = new {},
    },
    extensionDataProviderAppId = "<extensionDataProviderAppId>",
    extensionDataProviderApiKey = "<extensionDataProviderApiKey>",
    name = "<name>",
    description = "<description>",
    properties = new {
        key = new {},
    },
};

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

BinaryData data = operation.Value;
JsonElement result = JsonDocument.Parse(data.ToStream()).RootElement;
Console.WriteLine(result.GetProperty("boundaryId").ToString());
Console.WriteLine(result.GetProperty("partyId").ToString());
Console.WriteLine(result.GetProperty("extensionId").ToString());
Console.WriteLine(result.GetProperty("extensionApiName").ToString());
Console.WriteLine(result.GetProperty("extensionApiInput").GetProperty("<test>").ToString());
Console.WriteLine(result.GetProperty("extensionDataProviderAppId").ToString());
Console.WriteLine(result.GetProperty("extensionDataProviderApiKey").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());

Comentários

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

Corpo da solicitação:

Esquema para WeatherDataIngestionJob:

{
  boundaryId: string, # Required. The id of the boundary object for which weather data is being fetched.
  partyId: string, # Required. The id of the party for which weather data is being fetched.
  extensionId: string, # Required. Id of the extension to be used for the providerInput. eg. DTN.ClearAg.
  extensionApiName: string, # Required. Extension api name to which request is to be made.
  extensionApiInput: Dictionary<string, any>, # Required. Extension api input dictionary which would be used to feed request query/body/parameter information.
  extensionDataProviderAppId: string, # Optional. App id of the weather data provider.
  extensionDataProviderApiKey: string, # Optional. Api key of the weather data provider.
  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.
}

Corpo da resposta:

Esquema para WeatherDataIngestionJob:

{
  boundaryId: string, # Required. The id of the boundary object for which weather data is being fetched.
  partyId: string, # Required. The id of the party for which weather data is being fetched.
  extensionId: string, # Required. Id of the extension to be used for the providerInput. eg. DTN.ClearAg.
  extensionApiName: string, # Required. Extension api name to which request is to be made.
  extensionApiInput: Dictionary<string, any>, # Required. Extension api input dictionary which would be used to feed request query/body/parameter information.
  extensionDataProviderAppId: string, # Optional. App id of the weather data provider.
  extensionDataProviderApiKey: string, # Optional. Api key of the weather data provider.
  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.
}

Aplica-se a