edit-icon download-icon

PutRow

最終更新日: Mar 05, 2019

PutRow

アクション:

指定した行のデータを挿入します。この行が存在しない場合は、新しい行が追加されます。行が存在する場合は、元の行が上書きされます。

リクエストメッセージの構造:

  1. message PutRowRequest {
  2. required string table_name = 1;
  3. required Condition condition = 2;
  4. repeated Column primary_key = 3;
  5. repeated Column attribute_columns = 4;
  6. }

table_name:

  • 型: 文字列

  • 必須パラメーター: はい

  • データの書き込み先テーブルの名前。

condition:

  • 型: Condition

  • 必須パラメーター: はい

  • データの書き込み前に行の存在チェックを実行するかどうかを判断します。次の 3 つの値があります。

    • IGNORE は行の存在チェックを実行しないことを示します。

    • EXPECT_EXIST は行の存在が見込まれていることを示します。

    • EXPECT_NOT_EXIST は行の存在が見込まれていないことを示します。

  • 行の存在が見込まれていないが存在する場合は、挿入に失敗し、エラーが返されます。この逆も同様です。

primary_key:

  • 型: repeated Column

  • 必須パラメーター: はい

  • 書き込む行のすべてのプライマリキー列。

attribute_columns:

  • 型: repeated Column

  • 必須パラメーター: いいえ

  • 書き込む行の属性。attribute_columns が null の場合、これは書き込む行に属性列がないことを示します。

  • attribute_columns では、列数が 128 を超えることはできません。

応答メッセージの構造:

  1. message PutRowResponse {
  2. required ConsumedCapacity consumed = 1;
  3. }

consumed:

容量単位の消費:

  • 行が存在しない場合:

  • 指定された条件チェックの値がIGNOREの場合、消費される書き込み容量単位の数は、行の主キーのサイズと挿入される属性列のサイズを4KBで割って切り上げた値になります。

  • 指定された条件チェックの値がEXPECT_NOT_EXISTの場合、書き込み容量単位と読み取り容量単位の両方が消費されます。消費される書き込み容量単位の数は、行の主キーのサイズと、挿入される属性列のサイズを4KBで除算して切り上げたものであり、読み込み容量単位のサイズは、行の主キーを4KBで割り、切り上げます。

  • 指定された条件チェックの値がEXPECT_EXISTの場合、行の挿入は失敗し、1つの書き込み容量単位と1つの読み取り容量単位を消費します。

  • 行が存在する場合:

  • 指定された条件チェックの値がIGNOREの場合、消費される書き込み容量単位の数は、行の主キーのサイズと挿入される属性列のサイズを4KBで割って切り上げた値になります。

  • 指定された条件チェックの値がEXPECT_EXISTの場合、書き込み容量単位と読み取り容量単位の両方が消費されます。消費される書き込み容量単位の数は、行の主キーのサイズと、挿入される属性列のサイズを4KBで除算して切り上げたものであり、読み込み容量単位のサイズは、行の主キーを4KBで割り、切り上げます。

  • 指定された条件チェックの値がEXPECT_NOT_EXISTの場合、行の挿入に失敗し、1つの書き込み容量単位と1つの読み取り容量単位を消費します。

  • 条件付き更新:

  • 操作が成功した場合は、前の方法に従って消費容量単位が計算されます。

  • 操作が失敗すると、1つの書き込み容量ユニットと1つの読み取り容量ユニットが消費されます。

データサイズの計算方法の詳細については、請求を参照してください。

  • 内部エラーコードが返された場合(HTTPステータスコード:5XX)、容量単位は消費されません。他のエラーが返された場合は、書き込み容量単位が1つ消費されます。

  • リクエストタイムアウトして結果が未定義の場合、容量単位が消費される場合と消費されない場合があります。

row:

  • タイプ: Bytes

  • return_contentが設定されている場合に返されるデータ。

  • Plainbuffer形式です。エンコードの詳細については、Plainbuffer encodingを参照してください。

  • return_contentが設定されていないか、値が返されていない場合、NULLが返されます。