JavaScript SDK を使用してストアド プロシージャを作成する
.NET SDK を使用してストアド プロシージャを作成するには、Microsoft.Azure.Cosmos.Container クラスで特別な Scripts プロパティを使用する必要があります。 変数内の container という名前のコンテナー インスタンスを想定する例から見ていきましょう。
まず、文字列変数でストアド プロシージャの JavaScript 関数を定義します。
string sproc = @"function greet() { var context = getContext(); var response = context.getResponse(); response.setBody('Hello, Learn!'); }";ヒント
または、System.IO.File などのファイル API を使用して、*.js ファイルから関数を読み取ることもできます。
次に、Id プロパティと Body プロパティをそれぞれストアド プロシージャの一意識別子とコンテンツに設定して、Microsoft.Azure.Cosmos.Scripts.StoredProcedureProperties 型のオブジェクトを作成します。
StoredProcedureProperties properties = new() { Id = "greet", Body = sproc };ヒント
または、ストアド プロシージャの識別子と本文をコンストラクター パラメーターとして指定することもできます。
StoredProcedureProperties properties = new("greet", sproc);ここで、コンテナー変数の CreateStoredProcedureAsync<> メソッドを使用して、前に構成したプロパティを渡す新しいストアド プロシージャを作成します。
await container.Scripts.CreateStoredProcedureAsync(properties);結果を解析する場合、CreateStoredProcedureAsync<> メソッドは Microsoft.Azure.Cosmos.Scripts.StoredProcedureResponse 型のオブジェクトを返します。これには、コンテナー内に新しく作成されたストアド プロシージャに関するメタデータが含まれています。