我想创建一个大表
DeleteFromRow
突变。原版
Mutation
以及
删除FromRow
如下所示:
oneof mutation {
// Set a cell's value.
SetCell set_cell = 1;
// Deletes cells from a column.
DeleteFromColumn delete_from_column = 2;
// Deletes cells from a column family.
DeleteFromFamily delete_from_family = 3;
// Deletes cells from the entire row.
DeleteFromRow delete_from_row = 4;
}
}
message DeleteFromRow {
}
在python中,不能直接实例化
删除FromRow
对象并设置
delete_from_row
的字段
突变
对那个物体。
所以这个
不起作用
:
request = bigtable_pb2.MutateRowRequest(table_name='tablename', row_key=row_key)
mutation = request.mutations.add()
mutation.delete_from_row = data_pb2.Mutation.DeleteFromRow()
由其他SO用户提出(请参见
this question
,结果是
AttributeError: Assignment not allowed to composite field "delete_from_row" in protocol message object.
根据
protobuf docs
,您应该通过设置其中一个子字段来设置一个one of字段。所以A
DeleteFromFamily
突变的产生方式如下:
mutation.delete_from_family.family_name = 'some_family'
但是,我该怎么做呢
删除FromRow
没有字段的消息?