次の方法で共有


ConversationAuthoringClient.ImportProjectAsync メソッド

定義

[プロトコルメソッド]プロジェクトをインポートするジョブをトリガーします。 同じ名前のプロジェクトが既に存在する場合は、そのプロジェクトのデータを置き換えます。

  • この プロトコル メソッド を使用すると、高度なシナリオで応答の要求と処理を明示的に作成できます。
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))

パラメーター

waitUntil
WaitUntil

Completed メソッドが、サービスで実行時間の長い操作が完了するまで戻るまで待機する必要がある場合。 Started 操作を開始した後に が返される場合は 。 実行時間の長い操作の詳細については、「 Azure.Core Long-Running 操作のサンプル」を参照してください。

projectName
String

使用するプロジェクトの名前。

content
RequestContent

要求の本文として送信するコンテンツ。

exportedProjectFormat
String

使用するエクスポートされたプロジェクト ファイルの形式。 使用できる値: "Conversation" |"Luis"

context
RequestContext

要求コンテキスト。これは、クライアント パイプラインの既定の動作を呼び出しごとにオーバーライドできます。

戻り値

Operationサービスの非同期操作を表す 。

例外

projectName または content が null です。

projectName は空の文字列であり、空でないと予想されていました。

サービスから成功以外の状態コードが返されました。

このサンプルでは、必要なパラメーターと要求コンテンツを使用して ImportProjectAsync を呼び出す方法と、結果を解析する方法を示します。

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());

このサンプルでは、すべてのパラメーターと要求コンテンツを使用して ImportProjectAsync を呼び出す方法と、結果を解析する方法を示します。

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());

注釈

その他の情報については、サービス REST API のドキュメントを参照してください。 https://learn.microsoft.com/rest/api/language/2023-04-01/conversational-analysis-authoring/import

適用対象