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

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

message PutRowRequest {
    required string table_name = 1;
    required bytes row = 2; // The Plainbuffer encoding is binary
    required Condition condition = 3;
    optional ReturnContent return_content = 4; 
}
			
table_name:
  • データ型:String

  • 必須 / 省略可能:必須

  • データを書き込むテーブルの名前。

row:
  • データ型:Bytes

  • 必須 / 省略可能:必須

  • 行に書き込まれるデータ。 Plainbuffer 形式。主キーと属性の列が含まれます。 エンコーディングの詳細については、 Plainbuffer エンコーディングをご参照ください。

condition:
  • データ型:Condition

  • 必須 / 省略可能:必須

  • データの書き込み前に行の存在のチェックをするかどうかを決めます。 次の 3 つの値のいずれかを選びます。

    • IGNORE :行の存在をチェックしません。

    • EXPECT_EXIST :行が存在することが予測されます。

    • EXPECT_NOT_EXIST:行が存在しないことが予測されます。

  • 行が存在することが予測されていないにもかかわらず存在する場合、入力は失敗し、エラーが返されます。また、その逆も同様です。

return_content:
  • データ型:ReturnContent

  • 必須 / 省略可能:省略可能

  • 行が正常に書き込まれた後のデータ型。 現時点では、主キーのみを返すことができます。これは主キー列の自動増分機能に使用されます。

レスポンスメッセージの構造:

message PutRowResponse {
    required ConsumedCapacity consumed = 1;
    optional bytes row = 2;
}
			
consumed
CU 消費量:
  • 行が存在しない場合:

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

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

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

  • 行が存在する場合:

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

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

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

  • Conditional Update:

    • 操作が正常に実行されると、前述の方法に従って消費された CU が計算されます。

    • 操作が失敗すると、1 つの書き込み CU と 1 つの読み取り CU が消費されます。

    データサイズの計算方法については、 Billing をご参照ください。

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

  • リクエストのタイムアウトが発生し、結果が定義されていない場合、CU は消費される場合と消費されない場合があります。

row

  • データ型:Bytes

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

  • return_content が設定されていない場合、または値が返されない場合は、null が返されます。

  • Plainbuffer 形式です。 エンコーディングの詳細については、 Plainbuffer エンコーディングをご参照ください。