Documentation ¶
Overview ¶
Package datastore provides access to the Google Cloud Datastore API.
See https://developers.google.com/datastore/
Usage example:
import "google.golang.org/api/datastore/v1beta2" ... datastoreService, err := datastore.New(oauthHttpClient)
Index ¶
- Constants
- type AllocateIdsRequest
- type AllocateIdsResponse
- type BeginTransactionRequest
- type BeginTransactionResponse
- type CommitRequest
- type CommitResponse
- type CompositeFilter
- type DatasetsAllocateIdsCall
- type DatasetsBeginTransactionCall
- type DatasetsCommitCall
- type DatasetsLookupCall
- type DatasetsRollbackCall
- type DatasetsRunQueryCall
- type DatasetsService
- func (r *DatasetsService) AllocateIds(datasetId string, allocateidsrequest *AllocateIdsRequest) *DatasetsAllocateIdsCall
- func (r *DatasetsService) BeginTransaction(datasetId string, begintransactionrequest *BeginTransactionRequest) *DatasetsBeginTransactionCall
- func (r *DatasetsService) Commit(datasetId string, commitrequest *CommitRequest) *DatasetsCommitCall
- func (r *DatasetsService) Lookup(datasetId string, lookuprequest *LookupRequest) *DatasetsLookupCall
- func (r *DatasetsService) Rollback(datasetId string, rollbackrequest *RollbackRequest) *DatasetsRollbackCall
- func (r *DatasetsService) RunQuery(datasetId string, runqueryrequest *RunQueryRequest) *DatasetsRunQueryCall
- type Entity
- type EntityResult
- type Filter
- type GqlQuery
- type GqlQueryArg
- type Key
- type KeyPathElement
- type KindExpression
- type LookupRequest
- type LookupResponse
- type Mutation
- type MutationResult
- type PartitionId
- type Property
- type PropertyExpression
- type PropertyFilter
- type PropertyOrder
- type PropertyReference
- type Query
- type QueryResultBatch
- type ReadOptions
- type ResponseHeader
- type RollbackRequest
- type RollbackResponse
- type RunQueryRequest
- type RunQueryResponse
- type Service
- type Value
Constants ¶
const ( // View and manage your data across Google Cloud Platform services CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" // View and manage your Google Cloud Datastore data DatastoreScope = "https://www.googleapis.com/auth/datastore" // View your email address UserinfoEmailScope = "https://www.googleapis.com/auth/userinfo.email" )
OAuth2 scopes used by this API.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AllocateIdsRequest ¶
type AllocateIdsRequest struct { // Keys: A list of keys with incomplete key paths to allocate IDs for. // No key may be reserved/read-only. Keys []*Key `json:"keys,omitempty"` }
type AllocateIdsResponse ¶
type AllocateIdsResponse struct { Header *ResponseHeader `json:"header,omitempty"` // Keys: The keys specified in the request (in the same order), each // with its key path completed with a newly allocated ID. Keys []*Key `json:"keys,omitempty"` }
type BeginTransactionRequest ¶
type BeginTransactionRequest struct { // IsolationLevel: The transaction isolation level. Either snapshot or // serializable. The default isolation level is snapshot isolation, // which means that another transaction may not concurrently modify the // data that is modified by this transaction. Optionally, a transaction // can request to be made serializable which means that another // transaction cannot concurrently modify the data that is read or // modified by this transaction. IsolationLevel string `json:"isolationLevel,omitempty"` }
type BeginTransactionResponse ¶
type BeginTransactionResponse struct { Header *ResponseHeader `json:"header,omitempty"` // Transaction: The transaction identifier (always present). Transaction string `json:"transaction,omitempty"` }
type CommitRequest ¶
type CommitRequest struct { IgnoreReadOnly bool `json:"ignoreReadOnly,omitempty"` // Mode: The type of commit to perform. Either TRANSACTIONAL or // NON_TRANSACTIONAL. Mode string `json:"mode,omitempty"` // Mutation: The mutation to perform. Optional. Mutation *Mutation `json:"mutation,omitempty"` // Transaction: The transaction identifier, returned by a call to // beginTransaction. Must be set when mode is TRANSACTIONAL. Transaction string `json:"transaction,omitempty"` }
type CommitResponse ¶
type CommitResponse struct { Header *ResponseHeader `json:"header,omitempty"` // MutationResult: The result of performing the mutation (if any). MutationResult *MutationResult `json:"mutationResult,omitempty"` }
type CompositeFilter ¶
type DatasetsAllocateIdsCall ¶
type DatasetsAllocateIdsCall struct {
// contains filtered or unexported fields
}
func (*DatasetsAllocateIdsCall) Do ¶
func (c *DatasetsAllocateIdsCall) Do() (*AllocateIdsResponse, error)
func (*DatasetsAllocateIdsCall) Fields ¶
func (c *DatasetsAllocateIdsCall) Fields(s ...googleapi.Field) *DatasetsAllocateIdsCall
Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
type DatasetsBeginTransactionCall ¶
type DatasetsBeginTransactionCall struct {
// contains filtered or unexported fields
}
func (*DatasetsBeginTransactionCall) Do ¶
func (c *DatasetsBeginTransactionCall) Do() (*BeginTransactionResponse, error)
func (*DatasetsBeginTransactionCall) Fields ¶
func (c *DatasetsBeginTransactionCall) Fields(s ...googleapi.Field) *DatasetsBeginTransactionCall
Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
type DatasetsCommitCall ¶
type DatasetsCommitCall struct {
// contains filtered or unexported fields
}
func (*DatasetsCommitCall) Do ¶
func (c *DatasetsCommitCall) Do() (*CommitResponse, error)
func (*DatasetsCommitCall) Fields ¶
func (c *DatasetsCommitCall) Fields(s ...googleapi.Field) *DatasetsCommitCall
Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
type DatasetsLookupCall ¶
type DatasetsLookupCall struct {
// contains filtered or unexported fields
}
func (*DatasetsLookupCall) Do ¶
func (c *DatasetsLookupCall) Do() (*LookupResponse, error)
func (*DatasetsLookupCall) Fields ¶
func (c *DatasetsLookupCall) Fields(s ...googleapi.Field) *DatasetsLookupCall
Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
type DatasetsRollbackCall ¶
type DatasetsRollbackCall struct {
// contains filtered or unexported fields
}
func (*DatasetsRollbackCall) Do ¶
func (c *DatasetsRollbackCall) Do() (*RollbackResponse, error)
func (*DatasetsRollbackCall) Fields ¶
func (c *DatasetsRollbackCall) Fields(s ...googleapi.Field) *DatasetsRollbackCall
Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
type DatasetsRunQueryCall ¶
type DatasetsRunQueryCall struct {
// contains filtered or unexported fields
}
func (*DatasetsRunQueryCall) Do ¶
func (c *DatasetsRunQueryCall) Do() (*RunQueryResponse, error)
func (*DatasetsRunQueryCall) Fields ¶
func (c *DatasetsRunQueryCall) Fields(s ...googleapi.Field) *DatasetsRunQueryCall
Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
type DatasetsService ¶
type DatasetsService struct {
// contains filtered or unexported fields
}
func NewDatasetsService ¶
func NewDatasetsService(s *Service) *DatasetsService
func (*DatasetsService) AllocateIds ¶
func (r *DatasetsService) AllocateIds(datasetId string, allocateidsrequest *AllocateIdsRequest) *DatasetsAllocateIdsCall
AllocateIds: Allocate IDs for incomplete keys (useful for referencing an entity before it is inserted).
func (*DatasetsService) BeginTransaction ¶
func (r *DatasetsService) BeginTransaction(datasetId string, begintransactionrequest *BeginTransactionRequest) *DatasetsBeginTransactionCall
BeginTransaction: Begin a new transaction.
func (*DatasetsService) Commit ¶
func (r *DatasetsService) Commit(datasetId string, commitrequest *CommitRequest) *DatasetsCommitCall
Commit: Commit a transaction, optionally creating, deleting or modifying some entities.
func (*DatasetsService) Lookup ¶
func (r *DatasetsService) Lookup(datasetId string, lookuprequest *LookupRequest) *DatasetsLookupCall
Lookup: Look up some entities by key.
func (*DatasetsService) Rollback ¶
func (r *DatasetsService) Rollback(datasetId string, rollbackrequest *RollbackRequest) *DatasetsRollbackCall
Rollback: Roll back a transaction.
func (*DatasetsService) RunQuery ¶
func (r *DatasetsService) RunQuery(datasetId string, runqueryrequest *RunQueryRequest) *DatasetsRunQueryCall
RunQuery: Query for entities.
type Entity ¶
type Entity struct { // Key: The entity's key. // // An entity must have a key, unless otherwise // documented (for example, an entity in Value.entityValue may have no // key). An entity's kind is its key's path's last element's kind, or // null if it has no key. Key *Key `json:"key,omitempty"` // Properties: The entity's properties. Properties map[string]Property `json:"properties,omitempty"` }
type EntityResult ¶
type EntityResult struct { // Entity: The resulting entity. Entity *Entity `json:"entity,omitempty"` }
type Filter ¶
type Filter struct { // CompositeFilter: A composite filter. CompositeFilter *CompositeFilter `json:"compositeFilter,omitempty"` // PropertyFilter: A filter on a property. PropertyFilter *PropertyFilter `json:"propertyFilter,omitempty"` }
type GqlQuery ¶
type GqlQuery struct { // AllowLiteral: When false, the query string must not contain a // literal. AllowLiteral bool `json:"allowLiteral,omitempty"` // NameArgs: A named argument must set field GqlQueryArg.name. No two // named arguments may have the same name. For each non-reserved named // binding site in the query string, there must be a named argument with // that name, but not necessarily the inverse. NameArgs []*GqlQueryArg `json:"nameArgs,omitempty"` // NumberArgs: Numbered binding site @1 references the first numbered // argument, effectively using 1-based indexing, rather than the usual // 0. A numbered argument must NOT set field GqlQueryArg.name. For each // binding site numbered i in query_string, there must be an ith // numbered argument. The inverse must also be true. NumberArgs []*GqlQueryArg `json:"numberArgs,omitempty"` // QueryString: The query string. QueryString string `json:"queryString,omitempty"` }
type GqlQueryArg ¶
type Key ¶
type Key struct { // PartitionId: Entities are partitioned into subsets, currently // identified by a dataset (usually implicitly specified by the project) // and namespace ID. Queries are scoped to a single partition. PartitionId *PartitionId `json:"partitionId,omitempty"` // Path: The entity path. An entity path consists of one or more // elements composed of a kind and a string or numerical identifier, // which identify entities. The first element identifies a root entity, // the second element identifies a child of the root entity, the third // element a child of the second entity, and so forth. The entities // identified by all prefixes of the path are called the element's // ancestors. An entity path is always fully complete: ALL of the // entity's ancestors are required to be in the path along with the // entity identifier itself. The only exception is that in some // documented cases, the identifier in the last path element (for the // entity) itself may be omitted. A path can never be empty. The path // can have at most 100 elements. Path []*KeyPathElement `json:"path,omitempty"` }
type KeyPathElement ¶
type KeyPathElement struct { // Id: The ID of the entity. Never equal to zero. Values less than zero // are discouraged and will not be supported in the future. Id int64 `json:"id,omitempty,string"` // Kind: The kind of the entity. A kind matching regex "__.*__" is // reserved/read-only. A kind must not contain more than 500 characters. // Cannot be "". Kind string `json:"kind,omitempty"` // Name: The name of the entity. A name matching regex "__.*__" is // reserved/read-only. A name must not be more than 500 characters. // Cannot be "". Name string `json:"name,omitempty"` }
type KindExpression ¶
type KindExpression struct { // Name: The name of the kind. Name string `json:"name,omitempty"` }
type LookupRequest ¶
type LookupRequest struct { // Keys: Keys of entities to look up from the datastore. Keys []*Key `json:"keys,omitempty"` // ReadOptions: Options for this lookup request. Optional. ReadOptions *ReadOptions `json:"readOptions,omitempty"` }
type LookupResponse ¶
type LookupResponse struct { // Deferred: A list of keys that were not looked up due to resource // constraints. Deferred []*Key `json:"deferred,omitempty"` // Found: Entities found. Found []*EntityResult `json:"found,omitempty"` Header *ResponseHeader `json:"header,omitempty"` // Missing: Entities not found, with only the key populated. Missing []*EntityResult `json:"missing,omitempty"` }
type Mutation ¶
type Mutation struct { // Delete: Keys of entities to delete. Each key must have a complete key // path and must not be reserved/read-only. Delete []*Key `json:"delete,omitempty"` // Force: Ignore a user specified read-only period. Optional. Force bool `json:"force,omitempty"` // Insert: Entities to insert. Each inserted entity's key must have a // complete path and must not be reserved/read-only. Insert []*Entity `json:"insert,omitempty"` // InsertAutoId: Insert entities with a newly allocated ID. Each // inserted entity's key must omit the final identifier in its path and // must not be reserved/read-only. InsertAutoId []*Entity `json:"insertAutoId,omitempty"` // Update: Entities to update. Each updated entity's key must have a // complete path and must not be reserved/read-only. Update []*Entity `json:"update,omitempty"` // Upsert: Entities to upsert. Each upserted entity's key must have a // complete path and must not be reserved/read-only. Upsert []*Entity `json:"upsert,omitempty"` }
type MutationResult ¶
type PartitionId ¶
type Property ¶
type Property struct { // BlobKeyValue: A blob key value. BlobKeyValue string `json:"blobKeyValue,omitempty"` // BlobValue: A blob value. May be a maximum of 1,000,000 bytes. BlobValue string `json:"blobValue,omitempty"` // BooleanValue: A boolean value. BooleanValue bool `json:"booleanValue,omitempty"` // DateTimeValue: A timestamp value. DateTimeValue string `json:"dateTimeValue,omitempty"` // DoubleValue: A double value. DoubleValue float64 `json:"doubleValue,omitempty"` // EntityValue: An entity value. May have no key. May have a key with an // incomplete key path. May have a reserved/read-only key. EntityValue *Entity `json:"entityValue,omitempty"` // Indexed: If the value should be indexed. // // The indexed property may be // set for a null value. When indexed is true, stringValue is limited to // 500 characters and the blob value is limited to 500 bytes. Input // values by default have indexed set to true; however, you can // explicitly set indexed to true if you want. (An output value never // has indexed explicitly set to true.) If a value is itself an entity, // it cannot have indexed set to true. Indexed bool `json:"indexed,omitempty"` // IntegerValue: An integer value. IntegerValue int64 `json:"integerValue,omitempty,string"` // KeyValue: A key value. KeyValue *Key `json:"keyValue,omitempty"` // ListValue: A list value. Cannot contain another list value. Cannot // also have a meaning and indexing set. ListValue []*Value `json:"listValue,omitempty"` // Meaning: The meaning field is reserved and should not be used. Meaning int64 `json:"meaning,omitempty"` // StringValue: A UTF-8 encoded string value. StringValue string `json:"stringValue,omitempty"` }
type PropertyExpression ¶
type PropertyExpression struct { // AggregationFunction: The aggregation function to apply to the // property. Optional. Can only be used when grouping by at least one // property. Must then be set on all properties in the projection that // are not being grouped by. Aggregation functions: first selects the // first result as determined by the query's order. AggregationFunction string `json:"aggregationFunction,omitempty"` // Property: The property to project. Property *PropertyReference `json:"property,omitempty"` }
type PropertyFilter ¶
type PropertyFilter struct { // Operator: The operator to filter by. One of lessThan, // lessThanOrEqual, greaterThan, greaterThanOrEqual, equal, or // hasAncestor. Operator string `json:"operator,omitempty"` // Property: The property to filter by. Property *PropertyReference `json:"property,omitempty"` // Value: The value to compare the property to. Value *Value `json:"value,omitempty"` }
type PropertyOrder ¶
type PropertyOrder struct { // Direction: The direction to order by. One of ascending or descending. // Optional, defaults to ascending. Direction string `json:"direction,omitempty"` // Property: The property to order by. Property *PropertyReference `json:"property,omitempty"` }
type PropertyReference ¶
type PropertyReference struct { // Name: The name of the property. Name string `json:"name,omitempty"` }
type Query ¶
type Query struct { // EndCursor: An ending point for the query results. Optional. Query // cursors are returned in query result batches. EndCursor string `json:"endCursor,omitempty"` // Filter: The filter to apply (optional). Filter *Filter `json:"filter,omitempty"` // GroupBy: The properties to group by (if empty, no grouping is applied // to the result set). GroupBy []*PropertyReference `json:"groupBy,omitempty"` // Kinds: The kinds to query (if empty, returns entities from all // kinds). Kinds []*KindExpression `json:"kinds,omitempty"` // Limit: The maximum number of results to return. Applies after all // other constraints. Optional. Limit int64 `json:"limit,omitempty"` // Offset: The number of results to skip. Applies before limit, but // after all other constraints (optional, defaults to 0). Offset int64 `json:"offset,omitempty"` // Order: The order to apply to the query results (if empty, order is // unspecified). Order []*PropertyOrder `json:"order,omitempty"` // Projection: The projection to return. If not set the entire entity is // returned. Projection []*PropertyExpression `json:"projection,omitempty"` // StartCursor: A starting point for the query results. Optional. Query // cursors are returned in query result batches. StartCursor string `json:"startCursor,omitempty"` }
type QueryResultBatch ¶
type QueryResultBatch struct { // EndCursor: A cursor that points to the position after the last result // in the batch. May be absent. TODO(arfuller): Once all plans produce // cursors update documentation here. EndCursor string `json:"endCursor,omitempty"` // EntityResultType: The result type for every entity in entityResults. // full for full entities, projection for entities with only projected // properties, keyOnly for entities with only a key. EntityResultType string `json:"entityResultType,omitempty"` // EntityResults: The results for this batch. EntityResults []*EntityResult `json:"entityResults,omitempty"` // MoreResults: The state of the query after the current batch. One of // notFinished, moreResultsAfterLimit, noMoreResults. MoreResults string `json:"moreResults,omitempty"` // SkippedResults: The number of results skipped because of // Query.offset. SkippedResults int64 `json:"skippedResults,omitempty"` }
type ReadOptions ¶
type ReadOptions struct { // ReadConsistency: The read consistency to use. One of default, strong, // or eventual. Cannot be set when transaction is set. Lookup and // ancestor queries default to strong, global queries default to // eventual and cannot be set to strong. Optional. Default is default. ReadConsistency string `json:"readConsistency,omitempty"` // Transaction: The transaction to use. Optional. Transaction string `json:"transaction,omitempty"` }
type ResponseHeader ¶
type ResponseHeader struct { // Kind: Identifies what kind of resource this is. Value: the fixed // string "datastore#responseHeader". Kind string `json:"kind,omitempty"` }
type RollbackRequest ¶
type RollbackRequest struct { // Transaction: The transaction identifier, returned by a call to // beginTransaction. Transaction string `json:"transaction,omitempty"` }
type RollbackResponse ¶
type RollbackResponse struct {
Header *ResponseHeader `json:"header,omitempty"`
}
type RunQueryRequest ¶
type RunQueryRequest struct { // GqlQuery: The GQL query to run. Either this field or field query must // be set, but not both. GqlQuery *GqlQuery `json:"gqlQuery,omitempty"` // PartitionId: Entities are partitioned into subsets, identified by a // dataset (usually implicitly specified by the project) and namespace // ID. Queries are scoped to a single partition. This partition ID is // normalized with the standard default context partition ID, but all // other partition IDs in RunQueryRequest are normalized with this // partition ID as the context partition ID. PartitionId *PartitionId `json:"partitionId,omitempty"` // Query: The query to run. Either this field or field gql_query must be // set, but not both. Query *Query `json:"query,omitempty"` // ReadOptions: The options for this query. ReadOptions *ReadOptions `json:"readOptions,omitempty"` }
type RunQueryResponse ¶
type RunQueryResponse struct { // Batch: A batch of query results (always present). Batch *QueryResultBatch `json:"batch,omitempty"` Header *ResponseHeader `json:"header,omitempty"` }
type Service ¶
type Service struct { BasePath string // API endpoint base URL Datasets *DatasetsService // contains filtered or unexported fields }
type Value ¶
type Value struct { // BlobKeyValue: A blob key value. BlobKeyValue string `json:"blobKeyValue,omitempty"` // BlobValue: A blob value. May be a maximum of 1,000,000 bytes. BlobValue string `json:"blobValue,omitempty"` // BooleanValue: A boolean value. BooleanValue bool `json:"booleanValue,omitempty"` // DateTimeValue: A timestamp value. DateTimeValue string `json:"dateTimeValue,omitempty"` // DoubleValue: A double value. DoubleValue float64 `json:"doubleValue,omitempty"` // EntityValue: An entity value. May have no key. May have a key with an // incomplete key path. May have a reserved/read-only key. EntityValue *Entity `json:"entityValue,omitempty"` // Indexed: If the value should be indexed. // // The indexed property may be // set for a null value. When indexed is true, stringValue is limited to // 500 characters and the blob value is limited to 500 bytes. Input // values by default have indexed set to true; however, you can // explicitly set indexed to true if you want. (An output value never // has indexed explicitly set to true.) If a value is itself an entity, // it cannot have indexed set to true. Indexed bool `json:"indexed,omitempty"` // IntegerValue: An integer value. IntegerValue int64 `json:"integerValue,omitempty,string"` // KeyValue: A key value. KeyValue *Key `json:"keyValue,omitempty"` // ListValue: A list value. Cannot contain another list value. Cannot // also have a meaning and indexing set. ListValue []*Value `json:"listValue,omitempty"` // Meaning: The meaning field is reserved and should not be used. Meaning int64 `json:"meaning,omitempty"` // StringValue: A UTF-8 encoded string value. StringValue string `json:"stringValue,omitempty"` }