Compartilhar via


ConversationAuthoringClient.ImportProject Método

Definição

[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