在使用Cloud Datastore API时,指定属性类型可以通过在实体中为每个属性定义类型来实现。以下是如何在创建或更新实体时指定属性类型的步骤:
STRING
, INTEGER
, DOUBLE
, BOOLEAN
, BLOB
, DATETIME
, GEO_POINT
, ARRAY
, KEY
等。如果你更喜欢使用命令行,可以使用gcloud datastore entities export
和gcloud datastore entities import
命令来管理实体的属性类型。
# 导出实体
gcloud datastore entities export gs://your-bucket-name --namespace=your-namespace
# 编辑导出的JSON文件,指定属性类型
# 例如:
# {
# "key": {...},
# "properties": {
# "name": {"stringValue": "John Doe"},
# "age": {"integerValue": 30},
# "isActive": {"booleanValue": true}
# }
# }
# 导入实体
gcloud datastore entities import gs://your-bucket-name/entities.json --namespace=your-namespace
大多数支持Cloud Datastore的编程语言都有相应的客户端库,你可以在创建或更新实体时指定属性类型。
from google.cloud import datastore
client = datastore.Client()
entity = datastore.Entity(key=client.key('EntityKind'))
entity.update({
'name': 'John Doe', # 默认为字符串类型
'age': 30, # 默认为整数类型
'isActive': True, # 默认为布尔类型
'height': 1.75, # 默认为浮点数类型
'birthday': datetime.datetime(1980, 1, 1), # datetime类型
'location': datastore.GeoPoint(40.7142, -74.0064), # 地理位置类型
})
client.put(entity)
const {Datastore} = require('@google-cloud/datastore');
const datastore = new Datastore();
async function createEntity() {
const entityKey = datastore.key(['EntityKind']);
const entity = {
key: entityKey,
data: {
name: {stringValue: 'John Doe'},
age: {integerValue: 30},
isActive: {booleanValue: true},
height: {doubleValue: 1.75},
birthday: {timestampValue: '1980-01-01T00:00:00Z'},
location: {geoPointValue: {latitude: 40.7142, longitude: -74.0064}},
},
};
await datastore.save(entity);
}
createEntity().catch(console.error);
领取专属 10元无门槛券
手把手带您无忧上云