ConversationAuthoringClient.ImportProject 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] Dispara um trabalho para importar um projeto. Se já existir um projeto com o mesmo nome, os dados desse projeto serão substituídos.
- 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 Azure.Operation<BinaryData> ImportProject (Azure.WaitUntil waitUntil, string projectName, Azure.Core.RequestContent content, string exportedProjectFormat = default, Azure.RequestContext context = default);
abstract member ImportProject : Azure.WaitUntil * string * Azure.Core.RequestContent * string * Azure.RequestContext -> Azure.Operation<BinaryData>
override this.ImportProject : Azure.WaitUntil * string * Azure.Core.RequestContent * string * Azure.RequestContext -> Azure.Operation<BinaryData>
Public Overridable Function ImportProject (waitUntil As WaitUntil, projectName As String, content As RequestContent, Optional exportedProjectFormat As String = Nothing, Optional context As RequestContext = Nothing) As 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.
- projectName
- String
O nome do projeto a ser usado.
- content
- RequestContent
O conteúdo a ser enviado como o corpo da solicitação.
- exportedProjectFormat
- String
O formato do arquivo de projeto exportado a ser usado. Valores permitidos: "Conversa" | "Luis".
- context
- RequestContext
O contexto de solicitação, que pode substituir os comportamentos padrão do pipeline do cliente por chamada.
Retornos
O Operation que representa uma operação assíncrona no serviço.
Exceções
projectName
ou content
é nulo.
projectName
é 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 ImportProject com os parâmetros necessários e o conteúdo da solicitação e como analisar o resultado.
var credential = new AzureKeyCredential("<key>");
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new ConversationAuthoringClient(endpoint, credential);
var data = new {
projectFileVersion = "<projectFileVersion>",
stringIndexType = "Utf16CodeUnit",
metadata = new {
projectKind = "Conversation",
projectName = "<projectName>",
language = "<language>",
},
};
var operation = client.ImportProject(WaitUntil.Completed, "<projectName>", RequestContent.Create(data));
BinaryData responseData = operation.Value;
JsonElement result = JsonDocument.Parse(responseData.ToStream()).RootElement;
Console.WriteLine(result.GetProperty("jobId").ToString());
Console.WriteLine(result.GetProperty("createdDateTime").ToString());
Console.WriteLine(result.GetProperty("lastUpdatedDateTime").ToString());
Console.WriteLine(result.GetProperty("status").ToString());
Este exemplo mostra como chamar ImportProject com todos os parâmetros e conteúdo da solicitação e como analisar o resultado.
var credential = new AzureKeyCredential("<key>");
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new ConversationAuthoringClient(endpoint, credential);
var data = new {
projectFileVersion = "<projectFileVersion>",
stringIndexType = "Utf16CodeUnit",
metadata = new {
projectKind = "Conversation",
settings = new {
confidenceThreshold = 123.45f,
},
projectName = "<projectName>",
multilingual = true,
description = "<description>",
language = "<language>",
},
assets = new {
intents = new[] {
new {
category = "<category>",
}
},
entities = new[] {
new {
category = "<category>",
compositionSetting = "returnLongestOverlap",
list = new {
sublists = new[] {
new {
listKey = "<listKey>",
synonyms = new[] {
new {
language = "<language>",
values = new[] {
"<String>"
},
}
},
}
},
},
prebuilts = new[] {
new {
category = "<category>",
}
},
regex = new {
expressions = new[] {
new {
regexKey = "<regexKey>",
language = "<language>",
regexPattern = "<regexPattern>",
}
},
},
requiredComponents = new[] {
"<String>"
},
}
},
utterances = new[] {
new {
entities = new[] {
new {
category = "<category>",
offset = 1234,
length = 1234,
}
},
text = "<text>",
language = "<language>",
intent = "<intent>",
dataset = "<dataset>",
}
},
projectKind = "Conversation",
},
};
var operation = client.ImportProject(WaitUntil.Completed, "<projectName>", RequestContent.Create(data), "<exportedProjectFormat>");
BinaryData responseData = operation.Value;
JsonElement result = JsonDocument.Parse(responseData.ToStream()).RootElement;
Console.WriteLine(result.GetProperty("jobId").ToString());
Console.WriteLine(result.GetProperty("createdDateTime").ToString());
Console.WriteLine(result.GetProperty("lastUpdatedDateTime").ToString());
Console.WriteLine(result.GetProperty("expirationDateTime").ToString());
Console.WriteLine(result.GetProperty("status").ToString());
Console.WriteLine(result.GetProperty("warnings")[0].GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("warnings")[0].GetProperty("message").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("message").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("target").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("details")[0].GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("details")[0].GetProperty("message").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("details")[0].GetProperty("target").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("details")[0].GetProperty("innererror").GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("details")[0].GetProperty("innererror").GetProperty("message").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("details")[0].GetProperty("innererror").GetProperty("details").GetProperty("<test>").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("details")[0].GetProperty("innererror").GetProperty("target").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("innererror").GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("innererror").GetProperty("message").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("innererror").GetProperty("details").GetProperty("<test>").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("innererror").GetProperty("target").ToString());
Comentários
Informações adicionais podem ser encontradas na documentação da API REST do serviço: https://learn.microsoft.com/rest/api/language/2023-04-01/conversational-analysis-authoring/import
Aplica-se a
Azure SDK for .NET