JavaScript SDK を使用してストアド プロシージャを作成する

完了

.NET SDK を使用してストアド プロシージャを作成するには、Microsoft.Azure.Cosmos.Container クラスで特別な Scripts プロパティを使用する必要があります。 変数内の container という名前のコンテナー インスタンスを想定する例から見ていきましょう。

  1. まず、文字列変数でストアド プロシージャの JavaScript 関数を定義します。

    string sproc = @"function greet() {
        var context = getContext();
        var response = context.getResponse();
        response.setBody('Hello, Learn!');
    }";
    

    ヒント

    または、System.IO.File などのファイル API を使用して、*.js ファイルから関数を読み取ることもできます。

  2. 次に、Id プロパティと Body プロパティをそれぞれストアド プロシージャの一意識別子とコンテンツに設定して、Microsoft.Azure.Cosmos.Scripts.StoredProcedureProperties 型のオブジェクトを作成します。

    StoredProcedureProperties properties = new()
    {
        Id = "greet",
        Body = sproc
    };
    

    ヒント

    または、ストアド プロシージャの識別子と本文をコンストラクター パラメーターとして指定することもできます。

        StoredProcedureProperties properties = new("greet", sproc);
    
  3. ここで、コンテナー変数の CreateStoredProcedureAsync<> メソッドを使用して、前に構成したプロパティを渡す新しいストアド プロシージャを作成します。

    await container.Scripts.CreateStoredProcedureAsync(properties);
    

    結果を解析する場合、CreateStoredProcedureAsync<> メソッドは Microsoft.Azure.Cosmos.Scripts.StoredProcedureResponse 型のオブジェクトを返します。これには、コンテナー内に新しく作成されたストアド プロシージャに関するメタデータが含まれています。