4

アイテムを取得しようとする「取得または作成」メソッドを作成していますが、アイテムが存在しない場合は、その新しいバージョンを作成します。明らかに、アイテムを取得しようとしたときにアイテムが存在しなかったことを確実に知りたいので、既存のデータが上書きされることはありません。

リクエスト時にアイテムがデータベースに存在しなかった$result["Item"] === null 場合にのみ、私は正しいと思いますか? つまり、アイテムがリクエストの前に存在していた場合、API エラーなどに関係なく、この条件は常に false と評価されますか? または、代わりにチェックする必要があるものは他にありますか?

    $result = $this->client->getItem(
        array(
            "TableName" => $tableName,
            "Key" => array(
                $keyName => array(Type::STRING => $key),
            )
        )
    );

    if ( $result["Item"] === null )
    {
        //Item does not exist; create it and write it to dynamoDb (code not shown)
    }

    return $result["Item"];
4

2 に答える 2