Partager via


ConversationAuthoringClient.ImportProject 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 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)

Paramètres

waitUntil
WaitUntil

Completed si la méthode doit attendre la fin de l’opération de longue durée sur le service ; Started s’il doit retourner 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 Azure.Core Long-Running.

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 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 on s’attendait à ce qu’elle ne soit pas vide.

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

Exemples

Cet exemple montre comment appeler ImportProject 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 = 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());

Cet exemple montre comment appeler ImportProject 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 = 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());

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 à