【发布时间】:2020-04-08 13:50:39
【问题描述】:
我在向 Bigtable 添加新行而不是一行时遇到问题,理想情况下我希望它只有一个副本
这是我正在使用的代码
use Google\Cloud\Bigtable\BigtableClient;
use Google\Cloud\Bigtable\DataUtil;
use Google\Cloud\Bigtable\Mutations;
$bigtable = new BigtableClient();
$table = $bigtable->table('claster', 'configuration');
$column_family_id = 'campaign';
$column_id = 'dsakjhasdkjhasdkj';
$mutations = (new Mutations())->upsert($column_family_id, "hahahaha", "campaign123");
$v = $table->mutateRow("campaign1854", $mutations);
printf('Successfully wrote row.' . PHP_EOL);
echo '<pre>';
print_r($v);
echo '</pre>';
我得到的回报是这个
Array
(
[campaign] => Array
(
[hahahaha] => Array
(
[0] => Array
(
[value] => campaign123
[labels] =>
[timeStamp] => 1586350256130000
)
[1] => Array
(
[value] => campaign123
[labels] =>
[timeStamp] => 1586350254707000
)
[2] => Array
(
[value] => campaign123
[labels] =>
[timeStamp] => 1586350253750000
)
)
)
)
此外,每次我尝试读取键时,它都会显示另一个值的副本,这是我用来读取的代码
$bigtable = new BigtableClient();
$table = $bigtable->table('claster', 'configuration');
$data = $table->readRow('campaign1854');
echo '<pre>';
print_r($data);
echo '</pre>';
我收到此回复并附上一份副本
Array
(
[campaign] => Array
(
[hahahaha] => Array
(
[0] => Array
(
[value] => campaign123
[labels] =>
[timeStamp] => 1586350256130000
)
[1] => Array
(
[value] => campaign123
[labels] =>
[timeStamp] => 1586350254707000
)
[2] => Array
(
[value] => campaign123
[labels] =>
[timeStamp] => 1586350253750000
)
[3] => Array
(
[value] => campaign123
[labels] =>
[timeStamp] => 1586350252676000
)
)
)
)
【问题讨论】:
标签: php google-cloud-bigtable bigtable