順序の実行

前の項で作成した順序を実行するには、Store.execute_updates()メソッドを使用します。

...

def do_store_ops(store):

    try:
        store.execute_updates(op_array)
        logging.debug("Store write succeeded.")
    except IllegalArgumentException, iae:
        logging.error("Could not write table.")
        logging.error(iae.message)
        sys.exit(-1)

if __name__ == '__main__':

    ...

    add_op('PUT', 'myTable', True,
            "Hats", "baseball", "longbill",
            "red", "small", 13.07, 107)
    add_op('PUT', 'myTable', True,
            "Hats", "baseball", "longbill",
            "red", "medium", 14.07, 198)
    add_op('PUT', 'myTable', True,
            "Hats", "baseball", "longbill",
            "red", "large", 15.07, 140)

    do_store_ops(store) 

前述の例外のいずれかがスローされると、順序全体が中止され、データは、順序を実行しなかった場合の状態になることに注意してください。

Store.execute_updates()では、オプションでWriteOptionsオブジェクトを使用できます。このオブジェクトでは、次のものを指定できます。

  • この順序に使用する永続性保証。デフォルトの永続性保証を使用する場合、このキーを設定しないか、Noneに設定します。

  • 順序全体の処理に許される時間の上限を示すタイムアウト値。0を指定すると、デフォルトのリクエスト・タイムアウト値が使用されます。

  • 操作の結果の値を返すか、行のバージョンの結果の値を返すか、これらの両方の結果の値を返すか、何も返さないかを示すONDB_RETURN_CHOICE値。

WriteOptionsの使用例については、「永続性保証」を参照してください。