Partager via


ConversationAuthoringClient.ImportProjectAsync Méthode

Définition

[Méthode de protocole] Déclenche un travail pour importer un projet. Si un projet portant le même nom existe déjà, les données de ce projet sont remplacées.

  • Cette méthode de protocole permet la création explicite de la demande et le traitement de la réponse pour les scénarios avancés.
public virtual System.Threading.Tasks.Task<Azure.Operation<BinaryData>> ImportProjectAsync (Azure.WaitUntil waitUntil, string projectName, Azure.Core.RequestContent content, string exportedProjectFormat = default, Azure.RequestContext context = default);
abstract member ImportProjectAsync : Azure.WaitUntil * string * Azure.Core.RequestContent * string * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Operation<BinaryData>>
override this.ImportProjectAsync : Azure.WaitUntil * string * Azure.Core.RequestContent * string * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Operation<BinaryData>>
Public Overridable Function ImportProjectAsync (waitUntil As WaitUntil, projectName As String, content As RequestContent, Optional exportedProjectFormat As String = Nothing, 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.

projectName
String

Nom du projet à utiliser.

content
RequestContent

Contenu à envoyer en tant que corps de la demande.

exportedProjectFormat
String

Format du fichier projet exporté à utiliser. Valeurs autorisées : « Conversation » | « Luis ».

context
RequestContext

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

Retours

Operation représentant une opération asynchrone sur le service.

Exceptions

projectName ou content est null.

projectName 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 ImportProjectAsync avec les paramètres requis et demander le contenu, et comment analyser le résultat.

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 = await client.ImportProjectAsync(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());

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

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 = await client.ImportProjectAsync(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());

Remarques

Vous trouverez des informations supplémentaires dans la documentation de l’API REST de service : https://learn.microsoft.com/rest/api/language/2023-04-01/conversational-analysis-authoring/import

S’applique à