• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5  margin: 0;
6  padding: 0;
7  border: 0;
8  font-weight: inherit;
9  font-style: inherit;
10  font-size: 100%;
11  font-family: inherit;
12  vertical-align: baseline;
13}
14
15body {
16  font-size: 13px;
17  padding: 1em;
18}
19
20h1 {
21  font-size: 26px;
22  margin-bottom: 1em;
23}
24
25h2 {
26  font-size: 24px;
27  margin-bottom: 1em;
28}
29
30h3 {
31  font-size: 20px;
32  margin-bottom: 1em;
33  margin-top: 1em;
34}
35
36pre, code {
37  line-height: 1.5;
38  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42  margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46  font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50  border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54  margin-top: 0.5em;
55}
56
57.firstline {
58  margin-left: 2 em;
59}
60
61.method  {
62  margin-top: 1em;
63  border: solid 1px #CCC;
64  padding: 1em;
65  background: #EEE;
66}
67
68.details {
69  font-weight: bold;
70  font-size: 14px;
71}
72
73</style>
74
75<h1><a href="datastore_v1.html">Cloud Datastore API</a> . <a href="datastore_v1.projects.html">projects</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78  <code><a href="datastore_v1.projects.indexes.html">indexes()</a></code>
79</p>
80<p class="firstline">Returns the indexes Resource.</p>
81
82<p class="toc_element">
83  <code><a href="datastore_v1.projects.operations.html">operations()</a></code>
84</p>
85<p class="firstline">Returns the operations Resource.</p>
86
87<p class="toc_element">
88  <code><a href="#allocateIds">allocateIds(projectId, body, x__xgafv=None)</a></code></p>
89<p class="firstline">Allocates IDs for the given keys, which is useful for referencing an entity</p>
90<p class="toc_element">
91  <code><a href="#beginTransaction">beginTransaction(projectId, body, x__xgafv=None)</a></code></p>
92<p class="firstline">Begins a new transaction.</p>
93<p class="toc_element">
94  <code><a href="#commit">commit(projectId, body, x__xgafv=None)</a></code></p>
95<p class="firstline">Commits a transaction, optionally creating, deleting or modifying some</p>
96<p class="toc_element">
97  <code><a href="#export">export(projectId, body, x__xgafv=None)</a></code></p>
98<p class="firstline">Exports a copy of all or a subset of entities from Google Cloud Datastore</p>
99<p class="toc_element">
100  <code><a href="#import_">import_(projectId, body, x__xgafv=None)</a></code></p>
101<p class="firstline">Imports entities into Google Cloud Datastore. Existing entities with the</p>
102<p class="toc_element">
103  <code><a href="#lookup">lookup(projectId, body, x__xgafv=None)</a></code></p>
104<p class="firstline">Looks up entities by key.</p>
105<p class="toc_element">
106  <code><a href="#reserveIds">reserveIds(projectId, body, x__xgafv=None)</a></code></p>
107<p class="firstline">Prevents the supplied keys' IDs from being auto-allocated by Cloud</p>
108<p class="toc_element">
109  <code><a href="#rollback">rollback(projectId, body, x__xgafv=None)</a></code></p>
110<p class="firstline">Rolls back a transaction.</p>
111<p class="toc_element">
112  <code><a href="#runQuery">runQuery(projectId, body, x__xgafv=None)</a></code></p>
113<p class="firstline">Queries for entities.</p>
114<h3>Method Details</h3>
115<div class="method">
116    <code class="details" id="allocateIds">allocateIds(projectId, body, x__xgafv=None)</code>
117  <pre>Allocates IDs for the given keys, which is useful for referencing an entity
118before it is inserted.
119
120Args:
121  projectId: string, The ID of the project against which to make the request. (required)
122  body: object, The request body. (required)
123    The object takes the form of:
124
125{ # The request for Datastore.AllocateIds.
126    "keys": [ # A list of keys with incomplete key paths for which to allocate IDs.
127        # No key may be reserved/read-only.
128      { # A unique identifier for an entity.
129          # If a key's partition ID or any of its path kinds or names are
130          # reserved/read-only, the key is reserved/read-only.
131          # A reserved/read-only key is forbidden in certain documented contexts.
132        "path": [ # The entity path.
133            # An entity path consists of one or more elements composed of a kind and a
134            # string or numerical identifier, which identify entities. The first
135            # element identifies a _root entity_, the second element identifies
136            # a _child_ of the root entity, the third element identifies a child of the
137            # second entity, and so forth. The entities identified by all prefixes of
138            # the path are called the element's _ancestors_.
139            #
140            # An entity path is always fully complete: *all* of the entity's ancestors
141            # are required to be in the path along with the entity identifier itself.
142            # The only exception is that in some documented cases, the identifier in the
143            # last path element (for the entity) itself may be omitted. For example,
144            # the last path element of the key of `Mutation.insert` may have no
145            # identifier.
146            #
147            # A path can never be empty, and a path can have at most 100 elements.
148          { # A (kind, ID/name) pair used to construct a key path.
149              #
150              # If either name or ID is set, the element is complete.
151              # If neither is set, the element is incomplete.
152            "kind": "A String", # The kind of the entity.
153                # A kind matching regex `__.*__` is reserved/read-only.
154                # A kind must not contain more than 1500 bytes when UTF-8 encoded.
155                # Cannot be `""`.
156            "name": "A String", # The name of the entity.
157                # A name matching regex `__.*__` is reserved/read-only.
158                # A name must not be more than 1500 bytes when UTF-8 encoded.
159                # Cannot be `""`.
160            "id": "A String", # The auto-allocated ID of the entity.
161                # Never equal to zero. Values less than zero are discouraged and may not
162                # be supported in the future.
163          },
164        ],
165        "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
166            # ID and namespace ID.
167            # Queries are scoped to a single partition.
168            # by project and namespace, however the namespace ID may be empty.
169            #
170            # A partition ID contains several dimensions:
171            # project ID and namespace ID.
172            #
173            # Partition dimensions:
174            #
175            # - May be `""`.
176            # - Must be valid UTF-8 bytes.
177            # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
178            # If the value of any dimension matches regex `__.*__`, the partition is
179            # reserved/read-only.
180            # A reserved/read-only partition ID is forbidden in certain documented
181            # contexts.
182            #
183            # Foreign partition IDs (in which the project ID does
184            # not match the context project ID ) are discouraged.
185            # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
186          "projectId": "A String", # The ID of the project to which the entities belong.
187          "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
188        },
189      },
190    ],
191  }
192
193  x__xgafv: string, V1 error format.
194    Allowed values
195      1 - v1 error format
196      2 - v2 error format
197
198Returns:
199  An object of the form:
200
201    { # The response for Datastore.AllocateIds.
202    "keys": [ # The keys specified in the request (in the same order), each with
203        # its key path completed with a newly allocated ID.
204      { # A unique identifier for an entity.
205          # If a key's partition ID or any of its path kinds or names are
206          # reserved/read-only, the key is reserved/read-only.
207          # A reserved/read-only key is forbidden in certain documented contexts.
208        "path": [ # The entity path.
209            # An entity path consists of one or more elements composed of a kind and a
210            # string or numerical identifier, which identify entities. The first
211            # element identifies a _root entity_, the second element identifies
212            # a _child_ of the root entity, the third element identifies a child of the
213            # second entity, and so forth. The entities identified by all prefixes of
214            # the path are called the element's _ancestors_.
215            #
216            # An entity path is always fully complete: *all* of the entity's ancestors
217            # are required to be in the path along with the entity identifier itself.
218            # The only exception is that in some documented cases, the identifier in the
219            # last path element (for the entity) itself may be omitted. For example,
220            # the last path element of the key of `Mutation.insert` may have no
221            # identifier.
222            #
223            # A path can never be empty, and a path can have at most 100 elements.
224          { # A (kind, ID/name) pair used to construct a key path.
225              #
226              # If either name or ID is set, the element is complete.
227              # If neither is set, the element is incomplete.
228            "kind": "A String", # The kind of the entity.
229                # A kind matching regex `__.*__` is reserved/read-only.
230                # A kind must not contain more than 1500 bytes when UTF-8 encoded.
231                # Cannot be `""`.
232            "name": "A String", # The name of the entity.
233                # A name matching regex `__.*__` is reserved/read-only.
234                # A name must not be more than 1500 bytes when UTF-8 encoded.
235                # Cannot be `""`.
236            "id": "A String", # The auto-allocated ID of the entity.
237                # Never equal to zero. Values less than zero are discouraged and may not
238                # be supported in the future.
239          },
240        ],
241        "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
242            # ID and namespace ID.
243            # Queries are scoped to a single partition.
244            # by project and namespace, however the namespace ID may be empty.
245            #
246            # A partition ID contains several dimensions:
247            # project ID and namespace ID.
248            #
249            # Partition dimensions:
250            #
251            # - May be `""`.
252            # - Must be valid UTF-8 bytes.
253            # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
254            # If the value of any dimension matches regex `__.*__`, the partition is
255            # reserved/read-only.
256            # A reserved/read-only partition ID is forbidden in certain documented
257            # contexts.
258            #
259            # Foreign partition IDs (in which the project ID does
260            # not match the context project ID ) are discouraged.
261            # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
262          "projectId": "A String", # The ID of the project to which the entities belong.
263          "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
264        },
265      },
266    ],
267  }</pre>
268</div>
269
270<div class="method">
271    <code class="details" id="beginTransaction">beginTransaction(projectId, body, x__xgafv=None)</code>
272  <pre>Begins a new transaction.
273
274Args:
275  projectId: string, The ID of the project against which to make the request. (required)
276  body: object, The request body. (required)
277    The object takes the form of:
278
279{ # The request for Datastore.BeginTransaction.
280    "transactionOptions": { # Options for beginning a new transaction. # Options for a new transaction.
281        #
282        # Transactions can be created explicitly with calls to
283        # Datastore.BeginTransaction or implicitly by setting
284        # ReadOptions.new_transaction in read requests.
285      "readWrite": { # Options specific to read / write transactions. # The transaction should allow both reads and writes.
286        "previousTransaction": "A String", # The transaction identifier of the transaction being retried.
287      },
288      "readOnly": { # Options specific to read-only transactions. # The transaction should only allow reads.
289      },
290    },
291  }
292
293  x__xgafv: string, V1 error format.
294    Allowed values
295      1 - v1 error format
296      2 - v2 error format
297
298Returns:
299  An object of the form:
300
301    { # The response for Datastore.BeginTransaction.
302    "transaction": "A String", # The transaction identifier (always present).
303  }</pre>
304</div>
305
306<div class="method">
307    <code class="details" id="commit">commit(projectId, body, x__xgafv=None)</code>
308  <pre>Commits a transaction, optionally creating, deleting or modifying some
309entities.
310
311Args:
312  projectId: string, The ID of the project against which to make the request. (required)
313  body: object, The request body. (required)
314    The object takes the form of:
315
316{ # The request for Datastore.Commit.
317    "transaction": "A String", # The identifier of the transaction associated with the commit. A
318        # transaction identifier is returned by a call to
319        # Datastore.BeginTransaction.
320    "mutations": [ # The mutations to perform.
321        #
322        # When mode is `TRANSACTIONAL`, mutations affecting a single entity are
323        # applied in order. The following sequences of mutations affecting a single
324        # entity are not permitted in a single `Commit` request:
325        #
326        # - `insert` followed by `insert`
327        # - `update` followed by `insert`
328        # - `upsert` followed by `insert`
329        # - `delete` followed by `update`
330        #
331        # When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single
332        # entity.
333      { # A mutation to apply to an entity.
334        "insert": { # A Datastore data object. # The entity to insert. The entity must not already exist.
335            # The entity key's final path element may be incomplete.
336            #
337            # An entity is limited to 1 megabyte when stored. That _roughly_
338            # corresponds to a limit of 1 megabyte for the serialized form of this
339            # message.
340          "properties": { # The entity's properties.
341              # The map's keys are property names.
342              # A property name matching regex `__.*__` is reserved.
343              # A reserved property name is forbidden in certain documented contexts.
344              # The name must not contain more than 500 characters.
345              # The name cannot be `""`.
346            "a_key": { # A message that can hold any of the supported value types and associated
347                # metadata.
348              "entityValue": # Object with schema name: Entity # An entity value.
349                  #
350                  # - May have no key.
351                  # - May have a key with an incomplete key path.
352                  # - May have a reserved/read-only key.
353              "timestampValue": "A String", # A timestamp value.
354                  # When stored in the Datastore, precise only to microseconds;
355                  # any additional precision is rounded down.
356              "nullValue": "A String", # A null value.
357              "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
358                  # explicitly.
359              "doubleValue": 3.14, # A double value.
360              "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
361              "keyValue": { # A unique identifier for an entity. # A key value.
362                  # If a key's partition ID or any of its path kinds or names are
363                  # reserved/read-only, the key is reserved/read-only.
364                  # A reserved/read-only key is forbidden in certain documented contexts.
365                "path": [ # The entity path.
366                    # An entity path consists of one or more elements composed of a kind and a
367                    # string or numerical identifier, which identify entities. The first
368                    # element identifies a _root entity_, the second element identifies
369                    # a _child_ of the root entity, the third element identifies a child of the
370                    # second entity, and so forth. The entities identified by all prefixes of
371                    # the path are called the element's _ancestors_.
372                    #
373                    # An entity path is always fully complete: *all* of the entity's ancestors
374                    # are required to be in the path along with the entity identifier itself.
375                    # The only exception is that in some documented cases, the identifier in the
376                    # last path element (for the entity) itself may be omitted. For example,
377                    # the last path element of the key of `Mutation.insert` may have no
378                    # identifier.
379                    #
380                    # A path can never be empty, and a path can have at most 100 elements.
381                  { # A (kind, ID/name) pair used to construct a key path.
382                      #
383                      # If either name or ID is set, the element is complete.
384                      # If neither is set, the element is incomplete.
385                    "kind": "A String", # The kind of the entity.
386                        # A kind matching regex `__.*__` is reserved/read-only.
387                        # A kind must not contain more than 1500 bytes when UTF-8 encoded.
388                        # Cannot be `""`.
389                    "name": "A String", # The name of the entity.
390                        # A name matching regex `__.*__` is reserved/read-only.
391                        # A name must not be more than 1500 bytes when UTF-8 encoded.
392                        # Cannot be `""`.
393                    "id": "A String", # The auto-allocated ID of the entity.
394                        # Never equal to zero. Values less than zero are discouraged and may not
395                        # be supported in the future.
396                  },
397                ],
398                "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
399                    # ID and namespace ID.
400                    # Queries are scoped to a single partition.
401                    # by project and namespace, however the namespace ID may be empty.
402                    #
403                    # A partition ID contains several dimensions:
404                    # project ID and namespace ID.
405                    #
406                    # Partition dimensions:
407                    #
408                    # - May be `""`.
409                    # - Must be valid UTF-8 bytes.
410                    # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
411                    # If the value of any dimension matches regex `__.*__`, the partition is
412                    # reserved/read-only.
413                    # A reserved/read-only partition ID is forbidden in certain documented
414                    # contexts.
415                    #
416                    # Foreign partition IDs (in which the project ID does
417                    # not match the context project ID ) are discouraged.
418                    # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
419                  "projectId": "A String", # The ID of the project to which the entities belong.
420                  "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
421                },
422              },
423              "blobValue": "A String", # A blob value.
424                  # May have at most 1,000,000 bytes.
425                  # When `exclude_from_indexes` is false, may have at most 1500 bytes.
426                  # In JSON requests, must be base64-encoded.
427              "stringValue": "A String", # A UTF-8 encoded string value.
428                  # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
429                  # Otherwise, may be set to at least 1,000,000 bytes.
430              "booleanValue": True or False, # A boolean value.
431              "arrayValue": { # An array value. # An array value.
432                  # Cannot contain another array value.
433                  # A `Value` instance that sets field `array_value` must not set fields
434                  # `meaning` or `exclude_from_indexes`.
435                "values": [ # Values in the array.
436                    # The order of values in an array is preserved as long as all values have
437                    # identical settings for 'exclude_from_indexes'.
438                  # Object with schema name: Value
439                ],
440              },
441              "integerValue": "A String", # An integer value.
442              "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
443                  # of doubles representing degrees latitude and degrees longitude. Unless
444                  # specified otherwise, this must conform to the
445                  # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
446                  # standard</a>. Values must be within normalized ranges.
447                "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
448                "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
449              },
450            },
451          },
452          "key": { # A unique identifier for an entity. # The entity's key.
453              #
454              # An entity must have a key, unless otherwise documented (for example,
455              # an entity in `Value.entity_value` may have no key).
456              # An entity's kind is its key path's last element's kind,
457              # or null if it has no key.
458              # If a key's partition ID or any of its path kinds or names are
459              # reserved/read-only, the key is reserved/read-only.
460              # A reserved/read-only key is forbidden in certain documented contexts.
461            "path": [ # The entity path.
462                # An entity path consists of one or more elements composed of a kind and a
463                # string or numerical identifier, which identify entities. The first
464                # element identifies a _root entity_, the second element identifies
465                # a _child_ of the root entity, the third element identifies a child of the
466                # second entity, and so forth. The entities identified by all prefixes of
467                # the path are called the element's _ancestors_.
468                #
469                # An entity path is always fully complete: *all* of the entity's ancestors
470                # are required to be in the path along with the entity identifier itself.
471                # The only exception is that in some documented cases, the identifier in the
472                # last path element (for the entity) itself may be omitted. For example,
473                # the last path element of the key of `Mutation.insert` may have no
474                # identifier.
475                #
476                # A path can never be empty, and a path can have at most 100 elements.
477              { # A (kind, ID/name) pair used to construct a key path.
478                  #
479                  # If either name or ID is set, the element is complete.
480                  # If neither is set, the element is incomplete.
481                "kind": "A String", # The kind of the entity.
482                    # A kind matching regex `__.*__` is reserved/read-only.
483                    # A kind must not contain more than 1500 bytes when UTF-8 encoded.
484                    # Cannot be `""`.
485                "name": "A String", # The name of the entity.
486                    # A name matching regex `__.*__` is reserved/read-only.
487                    # A name must not be more than 1500 bytes when UTF-8 encoded.
488                    # Cannot be `""`.
489                "id": "A String", # The auto-allocated ID of the entity.
490                    # Never equal to zero. Values less than zero are discouraged and may not
491                    # be supported in the future.
492              },
493            ],
494            "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
495                # ID and namespace ID.
496                # Queries are scoped to a single partition.
497                # by project and namespace, however the namespace ID may be empty.
498                #
499                # A partition ID contains several dimensions:
500                # project ID and namespace ID.
501                #
502                # Partition dimensions:
503                #
504                # - May be `""`.
505                # - Must be valid UTF-8 bytes.
506                # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
507                # If the value of any dimension matches regex `__.*__`, the partition is
508                # reserved/read-only.
509                # A reserved/read-only partition ID is forbidden in certain documented
510                # contexts.
511                #
512                # Foreign partition IDs (in which the project ID does
513                # not match the context project ID ) are discouraged.
514                # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
515              "projectId": "A String", # The ID of the project to which the entities belong.
516              "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
517            },
518          },
519        },
520        "upsert": { # A Datastore data object. # The entity to upsert. The entity may or may not already exist.
521            # The entity key's final path element may be incomplete.
522            #
523            # An entity is limited to 1 megabyte when stored. That _roughly_
524            # corresponds to a limit of 1 megabyte for the serialized form of this
525            # message.
526          "properties": { # The entity's properties.
527              # The map's keys are property names.
528              # A property name matching regex `__.*__` is reserved.
529              # A reserved property name is forbidden in certain documented contexts.
530              # The name must not contain more than 500 characters.
531              # The name cannot be `""`.
532            "a_key": { # A message that can hold any of the supported value types and associated
533                # metadata.
534              "entityValue": # Object with schema name: Entity # An entity value.
535                  #
536                  # - May have no key.
537                  # - May have a key with an incomplete key path.
538                  # - May have a reserved/read-only key.
539              "timestampValue": "A String", # A timestamp value.
540                  # When stored in the Datastore, precise only to microseconds;
541                  # any additional precision is rounded down.
542              "nullValue": "A String", # A null value.
543              "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
544                  # explicitly.
545              "doubleValue": 3.14, # A double value.
546              "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
547              "keyValue": { # A unique identifier for an entity. # A key value.
548                  # If a key's partition ID or any of its path kinds or names are
549                  # reserved/read-only, the key is reserved/read-only.
550                  # A reserved/read-only key is forbidden in certain documented contexts.
551                "path": [ # The entity path.
552                    # An entity path consists of one or more elements composed of a kind and a
553                    # string or numerical identifier, which identify entities. The first
554                    # element identifies a _root entity_, the second element identifies
555                    # a _child_ of the root entity, the third element identifies a child of the
556                    # second entity, and so forth. The entities identified by all prefixes of
557                    # the path are called the element's _ancestors_.
558                    #
559                    # An entity path is always fully complete: *all* of the entity's ancestors
560                    # are required to be in the path along with the entity identifier itself.
561                    # The only exception is that in some documented cases, the identifier in the
562                    # last path element (for the entity) itself may be omitted. For example,
563                    # the last path element of the key of `Mutation.insert` may have no
564                    # identifier.
565                    #
566                    # A path can never be empty, and a path can have at most 100 elements.
567                  { # A (kind, ID/name) pair used to construct a key path.
568                      #
569                      # If either name or ID is set, the element is complete.
570                      # If neither is set, the element is incomplete.
571                    "kind": "A String", # The kind of the entity.
572                        # A kind matching regex `__.*__` is reserved/read-only.
573                        # A kind must not contain more than 1500 bytes when UTF-8 encoded.
574                        # Cannot be `""`.
575                    "name": "A String", # The name of the entity.
576                        # A name matching regex `__.*__` is reserved/read-only.
577                        # A name must not be more than 1500 bytes when UTF-8 encoded.
578                        # Cannot be `""`.
579                    "id": "A String", # The auto-allocated ID of the entity.
580                        # Never equal to zero. Values less than zero are discouraged and may not
581                        # be supported in the future.
582                  },
583                ],
584                "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
585                    # ID and namespace ID.
586                    # Queries are scoped to a single partition.
587                    # by project and namespace, however the namespace ID may be empty.
588                    #
589                    # A partition ID contains several dimensions:
590                    # project ID and namespace ID.
591                    #
592                    # Partition dimensions:
593                    #
594                    # - May be `""`.
595                    # - Must be valid UTF-8 bytes.
596                    # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
597                    # If the value of any dimension matches regex `__.*__`, the partition is
598                    # reserved/read-only.
599                    # A reserved/read-only partition ID is forbidden in certain documented
600                    # contexts.
601                    #
602                    # Foreign partition IDs (in which the project ID does
603                    # not match the context project ID ) are discouraged.
604                    # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
605                  "projectId": "A String", # The ID of the project to which the entities belong.
606                  "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
607                },
608              },
609              "blobValue": "A String", # A blob value.
610                  # May have at most 1,000,000 bytes.
611                  # When `exclude_from_indexes` is false, may have at most 1500 bytes.
612                  # In JSON requests, must be base64-encoded.
613              "stringValue": "A String", # A UTF-8 encoded string value.
614                  # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
615                  # Otherwise, may be set to at least 1,000,000 bytes.
616              "booleanValue": True or False, # A boolean value.
617              "arrayValue": { # An array value. # An array value.
618                  # Cannot contain another array value.
619                  # A `Value` instance that sets field `array_value` must not set fields
620                  # `meaning` or `exclude_from_indexes`.
621                "values": [ # Values in the array.
622                    # The order of values in an array is preserved as long as all values have
623                    # identical settings for 'exclude_from_indexes'.
624                  # Object with schema name: Value
625                ],
626              },
627              "integerValue": "A String", # An integer value.
628              "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
629                  # of doubles representing degrees latitude and degrees longitude. Unless
630                  # specified otherwise, this must conform to the
631                  # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
632                  # standard</a>. Values must be within normalized ranges.
633                "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
634                "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
635              },
636            },
637          },
638          "key": { # A unique identifier for an entity. # The entity's key.
639              #
640              # An entity must have a key, unless otherwise documented (for example,
641              # an entity in `Value.entity_value` may have no key).
642              # An entity's kind is its key path's last element's kind,
643              # or null if it has no key.
644              # If a key's partition ID or any of its path kinds or names are
645              # reserved/read-only, the key is reserved/read-only.
646              # A reserved/read-only key is forbidden in certain documented contexts.
647            "path": [ # The entity path.
648                # An entity path consists of one or more elements composed of a kind and a
649                # string or numerical identifier, which identify entities. The first
650                # element identifies a _root entity_, the second element identifies
651                # a _child_ of the root entity, the third element identifies a child of the
652                # second entity, and so forth. The entities identified by all prefixes of
653                # the path are called the element's _ancestors_.
654                #
655                # An entity path is always fully complete: *all* of the entity's ancestors
656                # are required to be in the path along with the entity identifier itself.
657                # The only exception is that in some documented cases, the identifier in the
658                # last path element (for the entity) itself may be omitted. For example,
659                # the last path element of the key of `Mutation.insert` may have no
660                # identifier.
661                #
662                # A path can never be empty, and a path can have at most 100 elements.
663              { # A (kind, ID/name) pair used to construct a key path.
664                  #
665                  # If either name or ID is set, the element is complete.
666                  # If neither is set, the element is incomplete.
667                "kind": "A String", # The kind of the entity.
668                    # A kind matching regex `__.*__` is reserved/read-only.
669                    # A kind must not contain more than 1500 bytes when UTF-8 encoded.
670                    # Cannot be `""`.
671                "name": "A String", # The name of the entity.
672                    # A name matching regex `__.*__` is reserved/read-only.
673                    # A name must not be more than 1500 bytes when UTF-8 encoded.
674                    # Cannot be `""`.
675                "id": "A String", # The auto-allocated ID of the entity.
676                    # Never equal to zero. Values less than zero are discouraged and may not
677                    # be supported in the future.
678              },
679            ],
680            "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
681                # ID and namespace ID.
682                # Queries are scoped to a single partition.
683                # by project and namespace, however the namespace ID may be empty.
684                #
685                # A partition ID contains several dimensions:
686                # project ID and namespace ID.
687                #
688                # Partition dimensions:
689                #
690                # - May be `""`.
691                # - Must be valid UTF-8 bytes.
692                # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
693                # If the value of any dimension matches regex `__.*__`, the partition is
694                # reserved/read-only.
695                # A reserved/read-only partition ID is forbidden in certain documented
696                # contexts.
697                #
698                # Foreign partition IDs (in which the project ID does
699                # not match the context project ID ) are discouraged.
700                # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
701              "projectId": "A String", # The ID of the project to which the entities belong.
702              "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
703            },
704          },
705        },
706        "update": { # A Datastore data object. # The entity to update. The entity must already exist.
707            # Must have a complete key path.
708            #
709            # An entity is limited to 1 megabyte when stored. That _roughly_
710            # corresponds to a limit of 1 megabyte for the serialized form of this
711            # message.
712          "properties": { # The entity's properties.
713              # The map's keys are property names.
714              # A property name matching regex `__.*__` is reserved.
715              # A reserved property name is forbidden in certain documented contexts.
716              # The name must not contain more than 500 characters.
717              # The name cannot be `""`.
718            "a_key": { # A message that can hold any of the supported value types and associated
719                # metadata.
720              "entityValue": # Object with schema name: Entity # An entity value.
721                  #
722                  # - May have no key.
723                  # - May have a key with an incomplete key path.
724                  # - May have a reserved/read-only key.
725              "timestampValue": "A String", # A timestamp value.
726                  # When stored in the Datastore, precise only to microseconds;
727                  # any additional precision is rounded down.
728              "nullValue": "A String", # A null value.
729              "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
730                  # explicitly.
731              "doubleValue": 3.14, # A double value.
732              "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
733              "keyValue": { # A unique identifier for an entity. # A key value.
734                  # If a key's partition ID or any of its path kinds or names are
735                  # reserved/read-only, the key is reserved/read-only.
736                  # A reserved/read-only key is forbidden in certain documented contexts.
737                "path": [ # The entity path.
738                    # An entity path consists of one or more elements composed of a kind and a
739                    # string or numerical identifier, which identify entities. The first
740                    # element identifies a _root entity_, the second element identifies
741                    # a _child_ of the root entity, the third element identifies a child of the
742                    # second entity, and so forth. The entities identified by all prefixes of
743                    # the path are called the element's _ancestors_.
744                    #
745                    # An entity path is always fully complete: *all* of the entity's ancestors
746                    # are required to be in the path along with the entity identifier itself.
747                    # The only exception is that in some documented cases, the identifier in the
748                    # last path element (for the entity) itself may be omitted. For example,
749                    # the last path element of the key of `Mutation.insert` may have no
750                    # identifier.
751                    #
752                    # A path can never be empty, and a path can have at most 100 elements.
753                  { # A (kind, ID/name) pair used to construct a key path.
754                      #
755                      # If either name or ID is set, the element is complete.
756                      # If neither is set, the element is incomplete.
757                    "kind": "A String", # The kind of the entity.
758                        # A kind matching regex `__.*__` is reserved/read-only.
759                        # A kind must not contain more than 1500 bytes when UTF-8 encoded.
760                        # Cannot be `""`.
761                    "name": "A String", # The name of the entity.
762                        # A name matching regex `__.*__` is reserved/read-only.
763                        # A name must not be more than 1500 bytes when UTF-8 encoded.
764                        # Cannot be `""`.
765                    "id": "A String", # The auto-allocated ID of the entity.
766                        # Never equal to zero. Values less than zero are discouraged and may not
767                        # be supported in the future.
768                  },
769                ],
770                "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
771                    # ID and namespace ID.
772                    # Queries are scoped to a single partition.
773                    # by project and namespace, however the namespace ID may be empty.
774                    #
775                    # A partition ID contains several dimensions:
776                    # project ID and namespace ID.
777                    #
778                    # Partition dimensions:
779                    #
780                    # - May be `""`.
781                    # - Must be valid UTF-8 bytes.
782                    # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
783                    # If the value of any dimension matches regex `__.*__`, the partition is
784                    # reserved/read-only.
785                    # A reserved/read-only partition ID is forbidden in certain documented
786                    # contexts.
787                    #
788                    # Foreign partition IDs (in which the project ID does
789                    # not match the context project ID ) are discouraged.
790                    # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
791                  "projectId": "A String", # The ID of the project to which the entities belong.
792                  "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
793                },
794              },
795              "blobValue": "A String", # A blob value.
796                  # May have at most 1,000,000 bytes.
797                  # When `exclude_from_indexes` is false, may have at most 1500 bytes.
798                  # In JSON requests, must be base64-encoded.
799              "stringValue": "A String", # A UTF-8 encoded string value.
800                  # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
801                  # Otherwise, may be set to at least 1,000,000 bytes.
802              "booleanValue": True or False, # A boolean value.
803              "arrayValue": { # An array value. # An array value.
804                  # Cannot contain another array value.
805                  # A `Value` instance that sets field `array_value` must not set fields
806                  # `meaning` or `exclude_from_indexes`.
807                "values": [ # Values in the array.
808                    # The order of values in an array is preserved as long as all values have
809                    # identical settings for 'exclude_from_indexes'.
810                  # Object with schema name: Value
811                ],
812              },
813              "integerValue": "A String", # An integer value.
814              "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
815                  # of doubles representing degrees latitude and degrees longitude. Unless
816                  # specified otherwise, this must conform to the
817                  # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
818                  # standard</a>. Values must be within normalized ranges.
819                "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
820                "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
821              },
822            },
823          },
824          "key": { # A unique identifier for an entity. # The entity's key.
825              #
826              # An entity must have a key, unless otherwise documented (for example,
827              # an entity in `Value.entity_value` may have no key).
828              # An entity's kind is its key path's last element's kind,
829              # or null if it has no key.
830              # If a key's partition ID or any of its path kinds or names are
831              # reserved/read-only, the key is reserved/read-only.
832              # A reserved/read-only key is forbidden in certain documented contexts.
833            "path": [ # The entity path.
834                # An entity path consists of one or more elements composed of a kind and a
835                # string or numerical identifier, which identify entities. The first
836                # element identifies a _root entity_, the second element identifies
837                # a _child_ of the root entity, the third element identifies a child of the
838                # second entity, and so forth. The entities identified by all prefixes of
839                # the path are called the element's _ancestors_.
840                #
841                # An entity path is always fully complete: *all* of the entity's ancestors
842                # are required to be in the path along with the entity identifier itself.
843                # The only exception is that in some documented cases, the identifier in the
844                # last path element (for the entity) itself may be omitted. For example,
845                # the last path element of the key of `Mutation.insert` may have no
846                # identifier.
847                #
848                # A path can never be empty, and a path can have at most 100 elements.
849              { # A (kind, ID/name) pair used to construct a key path.
850                  #
851                  # If either name or ID is set, the element is complete.
852                  # If neither is set, the element is incomplete.
853                "kind": "A String", # The kind of the entity.
854                    # A kind matching regex `__.*__` is reserved/read-only.
855                    # A kind must not contain more than 1500 bytes when UTF-8 encoded.
856                    # Cannot be `""`.
857                "name": "A String", # The name of the entity.
858                    # A name matching regex `__.*__` is reserved/read-only.
859                    # A name must not be more than 1500 bytes when UTF-8 encoded.
860                    # Cannot be `""`.
861                "id": "A String", # The auto-allocated ID of the entity.
862                    # Never equal to zero. Values less than zero are discouraged and may not
863                    # be supported in the future.
864              },
865            ],
866            "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
867                # ID and namespace ID.
868                # Queries are scoped to a single partition.
869                # by project and namespace, however the namespace ID may be empty.
870                #
871                # A partition ID contains several dimensions:
872                # project ID and namespace ID.
873                #
874                # Partition dimensions:
875                #
876                # - May be `""`.
877                # - Must be valid UTF-8 bytes.
878                # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
879                # If the value of any dimension matches regex `__.*__`, the partition is
880                # reserved/read-only.
881                # A reserved/read-only partition ID is forbidden in certain documented
882                # contexts.
883                #
884                # Foreign partition IDs (in which the project ID does
885                # not match the context project ID ) are discouraged.
886                # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
887              "projectId": "A String", # The ID of the project to which the entities belong.
888              "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
889            },
890          },
891        },
892        "baseVersion": "A String", # The version of the entity that this mutation is being applied to. If this
893            # does not match the current version on the server, the mutation conflicts.
894        "delete": { # A unique identifier for an entity. # The key of the entity to delete. The entity may or may not already exist.
895            # Must have a complete key path and must not be reserved/read-only.
896            # If a key's partition ID or any of its path kinds or names are
897            # reserved/read-only, the key is reserved/read-only.
898            # A reserved/read-only key is forbidden in certain documented contexts.
899          "path": [ # The entity path.
900              # An entity path consists of one or more elements composed of a kind and a
901              # string or numerical identifier, which identify entities. The first
902              # element identifies a _root entity_, the second element identifies
903              # a _child_ of the root entity, the third element identifies a child of the
904              # second entity, and so forth. The entities identified by all prefixes of
905              # the path are called the element's _ancestors_.
906              #
907              # An entity path is always fully complete: *all* of the entity's ancestors
908              # are required to be in the path along with the entity identifier itself.
909              # The only exception is that in some documented cases, the identifier in the
910              # last path element (for the entity) itself may be omitted. For example,
911              # the last path element of the key of `Mutation.insert` may have no
912              # identifier.
913              #
914              # A path can never be empty, and a path can have at most 100 elements.
915            { # A (kind, ID/name) pair used to construct a key path.
916                #
917                # If either name or ID is set, the element is complete.
918                # If neither is set, the element is incomplete.
919              "kind": "A String", # The kind of the entity.
920                  # A kind matching regex `__.*__` is reserved/read-only.
921                  # A kind must not contain more than 1500 bytes when UTF-8 encoded.
922                  # Cannot be `""`.
923              "name": "A String", # The name of the entity.
924                  # A name matching regex `__.*__` is reserved/read-only.
925                  # A name must not be more than 1500 bytes when UTF-8 encoded.
926                  # Cannot be `""`.
927              "id": "A String", # The auto-allocated ID of the entity.
928                  # Never equal to zero. Values less than zero are discouraged and may not
929                  # be supported in the future.
930            },
931          ],
932          "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
933              # ID and namespace ID.
934              # Queries are scoped to a single partition.
935              # by project and namespace, however the namespace ID may be empty.
936              #
937              # A partition ID contains several dimensions:
938              # project ID and namespace ID.
939              #
940              # Partition dimensions:
941              #
942              # - May be `""`.
943              # - Must be valid UTF-8 bytes.
944              # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
945              # If the value of any dimension matches regex `__.*__`, the partition is
946              # reserved/read-only.
947              # A reserved/read-only partition ID is forbidden in certain documented
948              # contexts.
949              #
950              # Foreign partition IDs (in which the project ID does
951              # not match the context project ID ) are discouraged.
952              # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
953            "projectId": "A String", # The ID of the project to which the entities belong.
954            "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
955          },
956        },
957      },
958    ],
959    "mode": "A String", # The type of commit to perform. Defaults to `TRANSACTIONAL`.
960  }
961
962  x__xgafv: string, V1 error format.
963    Allowed values
964      1 - v1 error format
965      2 - v2 error format
966
967Returns:
968  An object of the form:
969
970    { # The response for Datastore.Commit.
971    "mutationResults": [ # The result of performing the mutations.
972        # The i-th mutation result corresponds to the i-th mutation in the request.
973      { # The result of applying a mutation.
974        "version": "A String", # The version of the entity on the server after processing the mutation. If
975            # the mutation doesn't change anything on the server, then the version will
976            # be the version of the current entity or, if no entity is present, a version
977            # that is strictly greater than the version of any previous entity and less
978            # than the version of any possible future entity.
979        "conflictDetected": True or False, # Whether a conflict was detected for this mutation. Always false when a
980            # conflict detection strategy field is not set in the mutation.
981        "key": { # A unique identifier for an entity. # The automatically allocated key.
982            # Set only when the mutation allocated a key.
983            # If a key's partition ID or any of its path kinds or names are
984            # reserved/read-only, the key is reserved/read-only.
985            # A reserved/read-only key is forbidden in certain documented contexts.
986          "path": [ # The entity path.
987              # An entity path consists of one or more elements composed of a kind and a
988              # string or numerical identifier, which identify entities. The first
989              # element identifies a _root entity_, the second element identifies
990              # a _child_ of the root entity, the third element identifies a child of the
991              # second entity, and so forth. The entities identified by all prefixes of
992              # the path are called the element's _ancestors_.
993              #
994              # An entity path is always fully complete: *all* of the entity's ancestors
995              # are required to be in the path along with the entity identifier itself.
996              # The only exception is that in some documented cases, the identifier in the
997              # last path element (for the entity) itself may be omitted. For example,
998              # the last path element of the key of `Mutation.insert` may have no
999              # identifier.
1000              #
1001              # A path can never be empty, and a path can have at most 100 elements.
1002            { # A (kind, ID/name) pair used to construct a key path.
1003                #
1004                # If either name or ID is set, the element is complete.
1005                # If neither is set, the element is incomplete.
1006              "kind": "A String", # The kind of the entity.
1007                  # A kind matching regex `__.*__` is reserved/read-only.
1008                  # A kind must not contain more than 1500 bytes when UTF-8 encoded.
1009                  # Cannot be `""`.
1010              "name": "A String", # The name of the entity.
1011                  # A name matching regex `__.*__` is reserved/read-only.
1012                  # A name must not be more than 1500 bytes when UTF-8 encoded.
1013                  # Cannot be `""`.
1014              "id": "A String", # The auto-allocated ID of the entity.
1015                  # Never equal to zero. Values less than zero are discouraged and may not
1016                  # be supported in the future.
1017            },
1018          ],
1019          "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
1020              # ID and namespace ID.
1021              # Queries are scoped to a single partition.
1022              # by project and namespace, however the namespace ID may be empty.
1023              #
1024              # A partition ID contains several dimensions:
1025              # project ID and namespace ID.
1026              #
1027              # Partition dimensions:
1028              #
1029              # - May be `""`.
1030              # - Must be valid UTF-8 bytes.
1031              # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
1032              # If the value of any dimension matches regex `__.*__`, the partition is
1033              # reserved/read-only.
1034              # A reserved/read-only partition ID is forbidden in certain documented
1035              # contexts.
1036              #
1037              # Foreign partition IDs (in which the project ID does
1038              # not match the context project ID ) are discouraged.
1039              # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
1040            "projectId": "A String", # The ID of the project to which the entities belong.
1041            "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
1042          },
1043        },
1044      },
1045    ],
1046    "indexUpdates": 42, # The number of index entries updated during the commit, or zero if none were
1047        # updated.
1048  }</pre>
1049</div>
1050
1051<div class="method">
1052    <code class="details" id="export">export(projectId, body, x__xgafv=None)</code>
1053  <pre>Exports a copy of all or a subset of entities from Google Cloud Datastore
1054to another storage system, such as Google Cloud Storage. Recent updates to
1055entities may not be reflected in the export. The export occurs in the
1056background and its progress can be monitored and managed via the
1057Operation resource that is created. The output of an export may only be
1058used once the associated operation is done. If an export operation is
1059cancelled before completion it may leave partial data behind in Google
1060Cloud Storage.
1061
1062Args:
1063  projectId: string, Project ID against which to make the request. (required)
1064  body: object, The request body. (required)
1065    The object takes the form of:
1066
1067{ # The request for
1068      # google.datastore.admin.v1.DatastoreAdmin.ExportEntities.
1069    "labels": { # Client-assigned labels.
1070      "a_key": "A String",
1071    },
1072    "outputUrlPrefix": "A String", # Location for the export metadata and data files.
1073        #
1074        # The full resource URL of the external storage location. Currently, only
1075        # Google Cloud Storage is supported. So output_url_prefix should be of the
1076        # form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the
1077        # name of the Cloud Storage bucket and `NAMESPACE_PATH` is an optional Cloud
1078        # Storage namespace path (this is not a Cloud Datastore namespace). For more
1079        # information about Cloud Storage namespace paths, see
1080        # [Object name
1081        # considerations](https://cloud.google.com/storage/docs/naming#object-considerations).
1082        #
1083        # The resulting files will be nested deeper than the specified URL prefix.
1084        # The final output URL will be provided in the
1085        # google.datastore.admin.v1.ExportEntitiesResponse.output_url field. That
1086        # value should be used for subsequent ImportEntities operations.
1087        #
1088        # By nesting the data files deeper, the same Cloud Storage bucket can be used
1089        # in multiple ExportEntities operations without conflict.
1090    "entityFilter": { # Identifies a subset of entities in a project. This is specified as # Description of what data from the project is included in the export.
1091        # combinations of kinds and namespaces (either or both of which may be all, as
1092        # described in the following examples).
1093        # Example usage:
1094        #
1095        # Entire project:
1096        #   kinds=[], namespace_ids=[]
1097        #
1098        # Kinds Foo and Bar in all namespaces:
1099        #   kinds=['Foo', 'Bar'], namespace_ids=[]
1100        #
1101        # Kinds Foo and Bar only in the default namespace:
1102        #   kinds=['Foo', 'Bar'], namespace_ids=['']
1103        #
1104        # Kinds Foo and Bar in both the default and Baz namespaces:
1105        #   kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz']
1106        #
1107        # The entire Baz namespace:
1108        #   kinds=[], namespace_ids=['Baz']
1109      "kinds": [ # If empty, then this represents all kinds.
1110        "A String",
1111      ],
1112      "namespaceIds": [ # An empty list represents all namespaces. This is the preferred
1113          # usage for projects that don't use namespaces.
1114          #
1115          # An empty string element represents the default namespace. This should be
1116          # used if the project has data in non-default namespaces, but doesn't want to
1117          # include them.
1118          # Each namespace in this list must be unique.
1119        "A String",
1120      ],
1121    },
1122  }
1123
1124  x__xgafv: string, V1 error format.
1125    Allowed values
1126      1 - v1 error format
1127      2 - v2 error format
1128
1129Returns:
1130  An object of the form:
1131
1132    { # This resource represents a long-running operation that is the result of a
1133      # network API call.
1134    "metadata": { # Service-specific metadata associated with the operation.  It typically
1135        # contains progress information and common metadata such as create time.
1136        # Some services might not provide such metadata.  Any method that returns a
1137        # long-running operation should document the metadata type, if any.
1138      "a_key": "", # Properties of the object. Contains field @type with type URL.
1139    },
1140    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
1141        # different programming environments, including REST APIs and RPC APIs. It is
1142        # used by [gRPC](https://github.com/grpc). The error model is designed to be:
1143        #
1144        # - Simple to use and understand for most users
1145        # - Flexible enough to meet unexpected needs
1146        #
1147        # # Overview
1148        #
1149        # The `Status` message contains three pieces of data: error code, error
1150        # message, and error details. The error code should be an enum value of
1151        # google.rpc.Code, but it may accept additional error codes if needed.  The
1152        # error message should be a developer-facing English message that helps
1153        # developers *understand* and *resolve* the error. If a localized user-facing
1154        # error message is needed, put the localized message in the error details or
1155        # localize it in the client. The optional error details may contain arbitrary
1156        # information about the error. There is a predefined set of error detail types
1157        # in the package `google.rpc` that can be used for common error conditions.
1158        #
1159        # # Language mapping
1160        #
1161        # The `Status` message is the logical representation of the error model, but it
1162        # is not necessarily the actual wire format. When the `Status` message is
1163        # exposed in different client libraries and different wire protocols, it can be
1164        # mapped differently. For example, it will likely be mapped to some exceptions
1165        # in Java, but more likely mapped to some error codes in C.
1166        #
1167        # # Other uses
1168        #
1169        # The error model and the `Status` message can be used in a variety of
1170        # environments, either with or without APIs, to provide a
1171        # consistent developer experience across different environments.
1172        #
1173        # Example uses of this error model include:
1174        #
1175        # - Partial errors. If a service needs to return partial errors to the client,
1176        #     it may embed the `Status` in the normal response to indicate the partial
1177        #     errors.
1178        #
1179        # - Workflow errors. A typical workflow has multiple steps. Each step may
1180        #     have a `Status` message for error reporting.
1181        #
1182        # - Batch operations. If a client uses batch request and batch response, the
1183        #     `Status` message should be used directly inside batch response, one for
1184        #     each error sub-response.
1185        #
1186        # - Asynchronous operations. If an API call embeds asynchronous operation
1187        #     results in its response, the status of those operations should be
1188        #     represented directly using the `Status` message.
1189        #
1190        # - Logging. If some API errors are stored in logs, the message `Status` could
1191        #     be used directly after any stripping needed for security/privacy reasons.
1192      "message": "A String", # A developer-facing error message, which should be in English. Any
1193          # user-facing error message should be localized and sent in the
1194          # google.rpc.Status.details field, or localized by the client.
1195      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
1196      "details": [ # A list of messages that carry the error details.  There is a common set of
1197          # message types for APIs to use.
1198        {
1199          "a_key": "", # Properties of the object. Contains field @type with type URL.
1200        },
1201      ],
1202    },
1203    "done": True or False, # If the value is `false`, it means the operation is still in progress.
1204        # If `true`, the operation is completed, and either `error` or `response` is
1205        # available.
1206    "response": { # The normal response of the operation in case of success.  If the original
1207        # method returns no data on success, such as `Delete`, the response is
1208        # `google.protobuf.Empty`.  If the original method is standard
1209        # `Get`/`Create`/`Update`, the response should be the resource.  For other
1210        # methods, the response should have the type `XxxResponse`, where `Xxx`
1211        # is the original method name.  For example, if the original method name
1212        # is `TakeSnapshot()`, the inferred response type is
1213        # `TakeSnapshotResponse`.
1214      "a_key": "", # Properties of the object. Contains field @type with type URL.
1215    },
1216    "name": "A String", # The server-assigned name, which is only unique within the same service that
1217        # originally returns it. If you use the default HTTP mapping, the
1218        # `name` should have the format of `operations/some/unique/name`.
1219  }</pre>
1220</div>
1221
1222<div class="method">
1223    <code class="details" id="import_">import_(projectId, body, x__xgafv=None)</code>
1224  <pre>Imports entities into Google Cloud Datastore. Existing entities with the
1225same key are overwritten. The import occurs in the background and its
1226progress can be monitored and managed via the Operation resource that is
1227created. If an ImportEntities operation is cancelled, it is possible
1228that a subset of the data has already been imported to Cloud Datastore.
1229
1230Args:
1231  projectId: string, Project ID against which to make the request. (required)
1232  body: object, The request body. (required)
1233    The object takes the form of:
1234
1235{ # The request for
1236      # google.datastore.admin.v1.DatastoreAdmin.ImportEntities.
1237    "labels": { # Client-assigned labels.
1238      "a_key": "A String",
1239    },
1240    "entityFilter": { # Identifies a subset of entities in a project. This is specified as # Optionally specify which kinds/namespaces are to be imported. If provided,
1241        # the list must be a subset of the EntityFilter used in creating the export,
1242        # otherwise a FAILED_PRECONDITION error will be returned. If no filter is
1243        # specified then all entities from the export are imported.
1244        # combinations of kinds and namespaces (either or both of which may be all, as
1245        # described in the following examples).
1246        # Example usage:
1247        #
1248        # Entire project:
1249        #   kinds=[], namespace_ids=[]
1250        #
1251        # Kinds Foo and Bar in all namespaces:
1252        #   kinds=['Foo', 'Bar'], namespace_ids=[]
1253        #
1254        # Kinds Foo and Bar only in the default namespace:
1255        #   kinds=['Foo', 'Bar'], namespace_ids=['']
1256        #
1257        # Kinds Foo and Bar in both the default and Baz namespaces:
1258        #   kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz']
1259        #
1260        # The entire Baz namespace:
1261        #   kinds=[], namespace_ids=['Baz']
1262      "kinds": [ # If empty, then this represents all kinds.
1263        "A String",
1264      ],
1265      "namespaceIds": [ # An empty list represents all namespaces. This is the preferred
1266          # usage for projects that don't use namespaces.
1267          #
1268          # An empty string element represents the default namespace. This should be
1269          # used if the project has data in non-default namespaces, but doesn't want to
1270          # include them.
1271          # Each namespace in this list must be unique.
1272        "A String",
1273      ],
1274    },
1275    "inputUrl": "A String", # The full resource URL of the external storage location. Currently, only
1276        # Google Cloud Storage is supported. So input_url should be of the form:
1277        # `gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE`, where
1278        # `BUCKET_NAME` is the name of the Cloud Storage bucket, `NAMESPACE_PATH` is
1279        # an optional Cloud Storage namespace path (this is not a Cloud Datastore
1280        # namespace), and `OVERALL_EXPORT_METADATA_FILE` is the metadata file written
1281        # by the ExportEntities operation. For more information about Cloud Storage
1282        # namespace paths, see
1283        # [Object name
1284        # considerations](https://cloud.google.com/storage/docs/naming#object-considerations).
1285        #
1286        # For more information, see
1287        # google.datastore.admin.v1.ExportEntitiesResponse.output_url.
1288  }
1289
1290  x__xgafv: string, V1 error format.
1291    Allowed values
1292      1 - v1 error format
1293      2 - v2 error format
1294
1295Returns:
1296  An object of the form:
1297
1298    { # This resource represents a long-running operation that is the result of a
1299      # network API call.
1300    "metadata": { # Service-specific metadata associated with the operation.  It typically
1301        # contains progress information and common metadata such as create time.
1302        # Some services might not provide such metadata.  Any method that returns a
1303        # long-running operation should document the metadata type, if any.
1304      "a_key": "", # Properties of the object. Contains field @type with type URL.
1305    },
1306    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
1307        # different programming environments, including REST APIs and RPC APIs. It is
1308        # used by [gRPC](https://github.com/grpc). The error model is designed to be:
1309        #
1310        # - Simple to use and understand for most users
1311        # - Flexible enough to meet unexpected needs
1312        #
1313        # # Overview
1314        #
1315        # The `Status` message contains three pieces of data: error code, error
1316        # message, and error details. The error code should be an enum value of
1317        # google.rpc.Code, but it may accept additional error codes if needed.  The
1318        # error message should be a developer-facing English message that helps
1319        # developers *understand* and *resolve* the error. If a localized user-facing
1320        # error message is needed, put the localized message in the error details or
1321        # localize it in the client. The optional error details may contain arbitrary
1322        # information about the error. There is a predefined set of error detail types
1323        # in the package `google.rpc` that can be used for common error conditions.
1324        #
1325        # # Language mapping
1326        #
1327        # The `Status` message is the logical representation of the error model, but it
1328        # is not necessarily the actual wire format. When the `Status` message is
1329        # exposed in different client libraries and different wire protocols, it can be
1330        # mapped differently. For example, it will likely be mapped to some exceptions
1331        # in Java, but more likely mapped to some error codes in C.
1332        #
1333        # # Other uses
1334        #
1335        # The error model and the `Status` message can be used in a variety of
1336        # environments, either with or without APIs, to provide a
1337        # consistent developer experience across different environments.
1338        #
1339        # Example uses of this error model include:
1340        #
1341        # - Partial errors. If a service needs to return partial errors to the client,
1342        #     it may embed the `Status` in the normal response to indicate the partial
1343        #     errors.
1344        #
1345        # - Workflow errors. A typical workflow has multiple steps. Each step may
1346        #     have a `Status` message for error reporting.
1347        #
1348        # - Batch operations. If a client uses batch request and batch response, the
1349        #     `Status` message should be used directly inside batch response, one for
1350        #     each error sub-response.
1351        #
1352        # - Asynchronous operations. If an API call embeds asynchronous operation
1353        #     results in its response, the status of those operations should be
1354        #     represented directly using the `Status` message.
1355        #
1356        # - Logging. If some API errors are stored in logs, the message `Status` could
1357        #     be used directly after any stripping needed for security/privacy reasons.
1358      "message": "A String", # A developer-facing error message, which should be in English. Any
1359          # user-facing error message should be localized and sent in the
1360          # google.rpc.Status.details field, or localized by the client.
1361      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
1362      "details": [ # A list of messages that carry the error details.  There is a common set of
1363          # message types for APIs to use.
1364        {
1365          "a_key": "", # Properties of the object. Contains field @type with type URL.
1366        },
1367      ],
1368    },
1369    "done": True or False, # If the value is `false`, it means the operation is still in progress.
1370        # If `true`, the operation is completed, and either `error` or `response` is
1371        # available.
1372    "response": { # The normal response of the operation in case of success.  If the original
1373        # method returns no data on success, such as `Delete`, the response is
1374        # `google.protobuf.Empty`.  If the original method is standard
1375        # `Get`/`Create`/`Update`, the response should be the resource.  For other
1376        # methods, the response should have the type `XxxResponse`, where `Xxx`
1377        # is the original method name.  For example, if the original method name
1378        # is `TakeSnapshot()`, the inferred response type is
1379        # `TakeSnapshotResponse`.
1380      "a_key": "", # Properties of the object. Contains field @type with type URL.
1381    },
1382    "name": "A String", # The server-assigned name, which is only unique within the same service that
1383        # originally returns it. If you use the default HTTP mapping, the
1384        # `name` should have the format of `operations/some/unique/name`.
1385  }</pre>
1386</div>
1387
1388<div class="method">
1389    <code class="details" id="lookup">lookup(projectId, body, x__xgafv=None)</code>
1390  <pre>Looks up entities by key.
1391
1392Args:
1393  projectId: string, The ID of the project against which to make the request. (required)
1394  body: object, The request body. (required)
1395    The object takes the form of:
1396
1397{ # The request for Datastore.Lookup.
1398    "keys": [ # Keys of entities to look up.
1399      { # A unique identifier for an entity.
1400          # If a key's partition ID or any of its path kinds or names are
1401          # reserved/read-only, the key is reserved/read-only.
1402          # A reserved/read-only key is forbidden in certain documented contexts.
1403        "path": [ # The entity path.
1404            # An entity path consists of one or more elements composed of a kind and a
1405            # string or numerical identifier, which identify entities. The first
1406            # element identifies a _root entity_, the second element identifies
1407            # a _child_ of the root entity, the third element identifies a child of the
1408            # second entity, and so forth. The entities identified by all prefixes of
1409            # the path are called the element's _ancestors_.
1410            #
1411            # An entity path is always fully complete: *all* of the entity's ancestors
1412            # are required to be in the path along with the entity identifier itself.
1413            # The only exception is that in some documented cases, the identifier in the
1414            # last path element (for the entity) itself may be omitted. For example,
1415            # the last path element of the key of `Mutation.insert` may have no
1416            # identifier.
1417            #
1418            # A path can never be empty, and a path can have at most 100 elements.
1419          { # A (kind, ID/name) pair used to construct a key path.
1420              #
1421              # If either name or ID is set, the element is complete.
1422              # If neither is set, the element is incomplete.
1423            "kind": "A String", # The kind of the entity.
1424                # A kind matching regex `__.*__` is reserved/read-only.
1425                # A kind must not contain more than 1500 bytes when UTF-8 encoded.
1426                # Cannot be `""`.
1427            "name": "A String", # The name of the entity.
1428                # A name matching regex `__.*__` is reserved/read-only.
1429                # A name must not be more than 1500 bytes when UTF-8 encoded.
1430                # Cannot be `""`.
1431            "id": "A String", # The auto-allocated ID of the entity.
1432                # Never equal to zero. Values less than zero are discouraged and may not
1433                # be supported in the future.
1434          },
1435        ],
1436        "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
1437            # ID and namespace ID.
1438            # Queries are scoped to a single partition.
1439            # by project and namespace, however the namespace ID may be empty.
1440            #
1441            # A partition ID contains several dimensions:
1442            # project ID and namespace ID.
1443            #
1444            # Partition dimensions:
1445            #
1446            # - May be `""`.
1447            # - Must be valid UTF-8 bytes.
1448            # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
1449            # If the value of any dimension matches regex `__.*__`, the partition is
1450            # reserved/read-only.
1451            # A reserved/read-only partition ID is forbidden in certain documented
1452            # contexts.
1453            #
1454            # Foreign partition IDs (in which the project ID does
1455            # not match the context project ID ) are discouraged.
1456            # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
1457          "projectId": "A String", # The ID of the project to which the entities belong.
1458          "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
1459        },
1460      },
1461    ],
1462    "readOptions": { # The options shared by read requests. # The options for this lookup request.
1463      "transaction": "A String", # The identifier of the transaction in which to read. A
1464          # transaction identifier is returned by a call to
1465          # Datastore.BeginTransaction.
1466      "readConsistency": "A String", # The non-transactional read consistency to use.
1467          # Cannot be set to `STRONG` for global queries.
1468    },
1469  }
1470
1471  x__xgafv: string, V1 error format.
1472    Allowed values
1473      1 - v1 error format
1474      2 - v2 error format
1475
1476Returns:
1477  An object of the form:
1478
1479    { # The response for Datastore.Lookup.
1480    "deferred": [ # A list of keys that were not looked up due to resource constraints. The
1481        # order of results in this field is undefined and has no relation to the
1482        # order of the keys in the input.
1483      { # A unique identifier for an entity.
1484          # If a key's partition ID or any of its path kinds or names are
1485          # reserved/read-only, the key is reserved/read-only.
1486          # A reserved/read-only key is forbidden in certain documented contexts.
1487        "path": [ # The entity path.
1488            # An entity path consists of one or more elements composed of a kind and a
1489            # string or numerical identifier, which identify entities. The first
1490            # element identifies a _root entity_, the second element identifies
1491            # a _child_ of the root entity, the third element identifies a child of the
1492            # second entity, and so forth. The entities identified by all prefixes of
1493            # the path are called the element's _ancestors_.
1494            #
1495            # An entity path is always fully complete: *all* of the entity's ancestors
1496            # are required to be in the path along with the entity identifier itself.
1497            # The only exception is that in some documented cases, the identifier in the
1498            # last path element (for the entity) itself may be omitted. For example,
1499            # the last path element of the key of `Mutation.insert` may have no
1500            # identifier.
1501            #
1502            # A path can never be empty, and a path can have at most 100 elements.
1503          { # A (kind, ID/name) pair used to construct a key path.
1504              #
1505              # If either name or ID is set, the element is complete.
1506              # If neither is set, the element is incomplete.
1507            "kind": "A String", # The kind of the entity.
1508                # A kind matching regex `__.*__` is reserved/read-only.
1509                # A kind must not contain more than 1500 bytes when UTF-8 encoded.
1510                # Cannot be `""`.
1511            "name": "A String", # The name of the entity.
1512                # A name matching regex `__.*__` is reserved/read-only.
1513                # A name must not be more than 1500 bytes when UTF-8 encoded.
1514                # Cannot be `""`.
1515            "id": "A String", # The auto-allocated ID of the entity.
1516                # Never equal to zero. Values less than zero are discouraged and may not
1517                # be supported in the future.
1518          },
1519        ],
1520        "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
1521            # ID and namespace ID.
1522            # Queries are scoped to a single partition.
1523            # by project and namespace, however the namespace ID may be empty.
1524            #
1525            # A partition ID contains several dimensions:
1526            # project ID and namespace ID.
1527            #
1528            # Partition dimensions:
1529            #
1530            # - May be `""`.
1531            # - Must be valid UTF-8 bytes.
1532            # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
1533            # If the value of any dimension matches regex `__.*__`, the partition is
1534            # reserved/read-only.
1535            # A reserved/read-only partition ID is forbidden in certain documented
1536            # contexts.
1537            #
1538            # Foreign partition IDs (in which the project ID does
1539            # not match the context project ID ) are discouraged.
1540            # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
1541          "projectId": "A String", # The ID of the project to which the entities belong.
1542          "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
1543        },
1544      },
1545    ],
1546    "missing": [ # Entities not found as `ResultType.KEY_ONLY` entities. The order of results
1547        # in this field is undefined and has no relation to the order of the keys
1548        # in the input.
1549      { # The result of fetching an entity from Datastore.
1550        "cursor": "A String", # A cursor that points to the position after the result entity.
1551            # Set only when the `EntityResult` is part of a `QueryResultBatch` message.
1552        "version": "A String", # The version of the entity, a strictly positive number that monotonically
1553            # increases with changes to the entity.
1554            #
1555            # This field is set for `FULL` entity
1556            # results.
1557            #
1558            # For missing entities in `LookupResponse`, this
1559            # is the version of the snapshot that was used to look up the entity, and it
1560            # is always set except for eventually consistent reads.
1561        "entity": { # A Datastore data object. # The resulting entity.
1562            #
1563            # An entity is limited to 1 megabyte when stored. That _roughly_
1564            # corresponds to a limit of 1 megabyte for the serialized form of this
1565            # message.
1566          "properties": { # The entity's properties.
1567              # The map's keys are property names.
1568              # A property name matching regex `__.*__` is reserved.
1569              # A reserved property name is forbidden in certain documented contexts.
1570              # The name must not contain more than 500 characters.
1571              # The name cannot be `""`.
1572            "a_key": { # A message that can hold any of the supported value types and associated
1573                # metadata.
1574              "entityValue": # Object with schema name: Entity # An entity value.
1575                  #
1576                  # - May have no key.
1577                  # - May have a key with an incomplete key path.
1578                  # - May have a reserved/read-only key.
1579              "timestampValue": "A String", # A timestamp value.
1580                  # When stored in the Datastore, precise only to microseconds;
1581                  # any additional precision is rounded down.
1582              "nullValue": "A String", # A null value.
1583              "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
1584                  # explicitly.
1585              "doubleValue": 3.14, # A double value.
1586              "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
1587              "keyValue": { # A unique identifier for an entity. # A key value.
1588                  # If a key's partition ID or any of its path kinds or names are
1589                  # reserved/read-only, the key is reserved/read-only.
1590                  # A reserved/read-only key is forbidden in certain documented contexts.
1591                "path": [ # The entity path.
1592                    # An entity path consists of one or more elements composed of a kind and a
1593                    # string or numerical identifier, which identify entities. The first
1594                    # element identifies a _root entity_, the second element identifies
1595                    # a _child_ of the root entity, the third element identifies a child of the
1596                    # second entity, and so forth. The entities identified by all prefixes of
1597                    # the path are called the element's _ancestors_.
1598                    #
1599                    # An entity path is always fully complete: *all* of the entity's ancestors
1600                    # are required to be in the path along with the entity identifier itself.
1601                    # The only exception is that in some documented cases, the identifier in the
1602                    # last path element (for the entity) itself may be omitted. For example,
1603                    # the last path element of the key of `Mutation.insert` may have no
1604                    # identifier.
1605                    #
1606                    # A path can never be empty, and a path can have at most 100 elements.
1607                  { # A (kind, ID/name) pair used to construct a key path.
1608                      #
1609                      # If either name or ID is set, the element is complete.
1610                      # If neither is set, the element is incomplete.
1611                    "kind": "A String", # The kind of the entity.
1612                        # A kind matching regex `__.*__` is reserved/read-only.
1613                        # A kind must not contain more than 1500 bytes when UTF-8 encoded.
1614                        # Cannot be `""`.
1615                    "name": "A String", # The name of the entity.
1616                        # A name matching regex `__.*__` is reserved/read-only.
1617                        # A name must not be more than 1500 bytes when UTF-8 encoded.
1618                        # Cannot be `""`.
1619                    "id": "A String", # The auto-allocated ID of the entity.
1620                        # Never equal to zero. Values less than zero are discouraged and may not
1621                        # be supported in the future.
1622                  },
1623                ],
1624                "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
1625                    # ID and namespace ID.
1626                    # Queries are scoped to a single partition.
1627                    # by project and namespace, however the namespace ID may be empty.
1628                    #
1629                    # A partition ID contains several dimensions:
1630                    # project ID and namespace ID.
1631                    #
1632                    # Partition dimensions:
1633                    #
1634                    # - May be `""`.
1635                    # - Must be valid UTF-8 bytes.
1636                    # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
1637                    # If the value of any dimension matches regex `__.*__`, the partition is
1638                    # reserved/read-only.
1639                    # A reserved/read-only partition ID is forbidden in certain documented
1640                    # contexts.
1641                    #
1642                    # Foreign partition IDs (in which the project ID does
1643                    # not match the context project ID ) are discouraged.
1644                    # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
1645                  "projectId": "A String", # The ID of the project to which the entities belong.
1646                  "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
1647                },
1648              },
1649              "blobValue": "A String", # A blob value.
1650                  # May have at most 1,000,000 bytes.
1651                  # When `exclude_from_indexes` is false, may have at most 1500 bytes.
1652                  # In JSON requests, must be base64-encoded.
1653              "stringValue": "A String", # A UTF-8 encoded string value.
1654                  # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
1655                  # Otherwise, may be set to at least 1,000,000 bytes.
1656              "booleanValue": True or False, # A boolean value.
1657              "arrayValue": { # An array value. # An array value.
1658                  # Cannot contain another array value.
1659                  # A `Value` instance that sets field `array_value` must not set fields
1660                  # `meaning` or `exclude_from_indexes`.
1661                "values": [ # Values in the array.
1662                    # The order of values in an array is preserved as long as all values have
1663                    # identical settings for 'exclude_from_indexes'.
1664                  # Object with schema name: Value
1665                ],
1666              },
1667              "integerValue": "A String", # An integer value.
1668              "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
1669                  # of doubles representing degrees latitude and degrees longitude. Unless
1670                  # specified otherwise, this must conform to the
1671                  # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
1672                  # standard</a>. Values must be within normalized ranges.
1673                "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
1674                "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
1675              },
1676            },
1677          },
1678          "key": { # A unique identifier for an entity. # The entity's key.
1679              #
1680              # An entity must have a key, unless otherwise documented (for example,
1681              # an entity in `Value.entity_value` may have no key).
1682              # An entity's kind is its key path's last element's kind,
1683              # or null if it has no key.
1684              # If a key's partition ID or any of its path kinds or names are
1685              # reserved/read-only, the key is reserved/read-only.
1686              # A reserved/read-only key is forbidden in certain documented contexts.
1687            "path": [ # The entity path.
1688                # An entity path consists of one or more elements composed of a kind and a
1689                # string or numerical identifier, which identify entities. The first
1690                # element identifies a _root entity_, the second element identifies
1691                # a _child_ of the root entity, the third element identifies a child of the
1692                # second entity, and so forth. The entities identified by all prefixes of
1693                # the path are called the element's _ancestors_.
1694                #
1695                # An entity path is always fully complete: *all* of the entity's ancestors
1696                # are required to be in the path along with the entity identifier itself.
1697                # The only exception is that in some documented cases, the identifier in the
1698                # last path element (for the entity) itself may be omitted. For example,
1699                # the last path element of the key of `Mutation.insert` may have no
1700                # identifier.
1701                #
1702                # A path can never be empty, and a path can have at most 100 elements.
1703              { # A (kind, ID/name) pair used to construct a key path.
1704                  #
1705                  # If either name or ID is set, the element is complete.
1706                  # If neither is set, the element is incomplete.
1707                "kind": "A String", # The kind of the entity.
1708                    # A kind matching regex `__.*__` is reserved/read-only.
1709                    # A kind must not contain more than 1500 bytes when UTF-8 encoded.
1710                    # Cannot be `""`.
1711                "name": "A String", # The name of the entity.
1712                    # A name matching regex `__.*__` is reserved/read-only.
1713                    # A name must not be more than 1500 bytes when UTF-8 encoded.
1714                    # Cannot be `""`.
1715                "id": "A String", # The auto-allocated ID of the entity.
1716                    # Never equal to zero. Values less than zero are discouraged and may not
1717                    # be supported in the future.
1718              },
1719            ],
1720            "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
1721                # ID and namespace ID.
1722                # Queries are scoped to a single partition.
1723                # by project and namespace, however the namespace ID may be empty.
1724                #
1725                # A partition ID contains several dimensions:
1726                # project ID and namespace ID.
1727                #
1728                # Partition dimensions:
1729                #
1730                # - May be `""`.
1731                # - Must be valid UTF-8 bytes.
1732                # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
1733                # If the value of any dimension matches regex `__.*__`, the partition is
1734                # reserved/read-only.
1735                # A reserved/read-only partition ID is forbidden in certain documented
1736                # contexts.
1737                #
1738                # Foreign partition IDs (in which the project ID does
1739                # not match the context project ID ) are discouraged.
1740                # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
1741              "projectId": "A String", # The ID of the project to which the entities belong.
1742              "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
1743            },
1744          },
1745        },
1746      },
1747    ],
1748    "found": [ # Entities found as `ResultType.FULL` entities. The order of results in this
1749        # field is undefined and has no relation to the order of the keys in the
1750        # input.
1751      { # The result of fetching an entity from Datastore.
1752        "cursor": "A String", # A cursor that points to the position after the result entity.
1753            # Set only when the `EntityResult` is part of a `QueryResultBatch` message.
1754        "version": "A String", # The version of the entity, a strictly positive number that monotonically
1755            # increases with changes to the entity.
1756            #
1757            # This field is set for `FULL` entity
1758            # results.
1759            #
1760            # For missing entities in `LookupResponse`, this
1761            # is the version of the snapshot that was used to look up the entity, and it
1762            # is always set except for eventually consistent reads.
1763        "entity": { # A Datastore data object. # The resulting entity.
1764            #
1765            # An entity is limited to 1 megabyte when stored. That _roughly_
1766            # corresponds to a limit of 1 megabyte for the serialized form of this
1767            # message.
1768          "properties": { # The entity's properties.
1769              # The map's keys are property names.
1770              # A property name matching regex `__.*__` is reserved.
1771              # A reserved property name is forbidden in certain documented contexts.
1772              # The name must not contain more than 500 characters.
1773              # The name cannot be `""`.
1774            "a_key": { # A message that can hold any of the supported value types and associated
1775                # metadata.
1776              "entityValue": # Object with schema name: Entity # An entity value.
1777                  #
1778                  # - May have no key.
1779                  # - May have a key with an incomplete key path.
1780                  # - May have a reserved/read-only key.
1781              "timestampValue": "A String", # A timestamp value.
1782                  # When stored in the Datastore, precise only to microseconds;
1783                  # any additional precision is rounded down.
1784              "nullValue": "A String", # A null value.
1785              "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
1786                  # explicitly.
1787              "doubleValue": 3.14, # A double value.
1788              "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
1789              "keyValue": { # A unique identifier for an entity. # A key value.
1790                  # If a key's partition ID or any of its path kinds or names are
1791                  # reserved/read-only, the key is reserved/read-only.
1792                  # A reserved/read-only key is forbidden in certain documented contexts.
1793                "path": [ # The entity path.
1794                    # An entity path consists of one or more elements composed of a kind and a
1795                    # string or numerical identifier, which identify entities. The first
1796                    # element identifies a _root entity_, the second element identifies
1797                    # a _child_ of the root entity, the third element identifies a child of the
1798                    # second entity, and so forth. The entities identified by all prefixes of
1799                    # the path are called the element's _ancestors_.
1800                    #
1801                    # An entity path is always fully complete: *all* of the entity's ancestors
1802                    # are required to be in the path along with the entity identifier itself.
1803                    # The only exception is that in some documented cases, the identifier in the
1804                    # last path element (for the entity) itself may be omitted. For example,
1805                    # the last path element of the key of `Mutation.insert` may have no
1806                    # identifier.
1807                    #
1808                    # A path can never be empty, and a path can have at most 100 elements.
1809                  { # A (kind, ID/name) pair used to construct a key path.
1810                      #
1811                      # If either name or ID is set, the element is complete.
1812                      # If neither is set, the element is incomplete.
1813                    "kind": "A String", # The kind of the entity.
1814                        # A kind matching regex `__.*__` is reserved/read-only.
1815                        # A kind must not contain more than 1500 bytes when UTF-8 encoded.
1816                        # Cannot be `""`.
1817                    "name": "A String", # The name of the entity.
1818                        # A name matching regex `__.*__` is reserved/read-only.
1819                        # A name must not be more than 1500 bytes when UTF-8 encoded.
1820                        # Cannot be `""`.
1821                    "id": "A String", # The auto-allocated ID of the entity.
1822                        # Never equal to zero. Values less than zero are discouraged and may not
1823                        # be supported in the future.
1824                  },
1825                ],
1826                "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
1827                    # ID and namespace ID.
1828                    # Queries are scoped to a single partition.
1829                    # by project and namespace, however the namespace ID may be empty.
1830                    #
1831                    # A partition ID contains several dimensions:
1832                    # project ID and namespace ID.
1833                    #
1834                    # Partition dimensions:
1835                    #
1836                    # - May be `""`.
1837                    # - Must be valid UTF-8 bytes.
1838                    # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
1839                    # If the value of any dimension matches regex `__.*__`, the partition is
1840                    # reserved/read-only.
1841                    # A reserved/read-only partition ID is forbidden in certain documented
1842                    # contexts.
1843                    #
1844                    # Foreign partition IDs (in which the project ID does
1845                    # not match the context project ID ) are discouraged.
1846                    # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
1847                  "projectId": "A String", # The ID of the project to which the entities belong.
1848                  "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
1849                },
1850              },
1851              "blobValue": "A String", # A blob value.
1852                  # May have at most 1,000,000 bytes.
1853                  # When `exclude_from_indexes` is false, may have at most 1500 bytes.
1854                  # In JSON requests, must be base64-encoded.
1855              "stringValue": "A String", # A UTF-8 encoded string value.
1856                  # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
1857                  # Otherwise, may be set to at least 1,000,000 bytes.
1858              "booleanValue": True or False, # A boolean value.
1859              "arrayValue": { # An array value. # An array value.
1860                  # Cannot contain another array value.
1861                  # A `Value` instance that sets field `array_value` must not set fields
1862                  # `meaning` or `exclude_from_indexes`.
1863                "values": [ # Values in the array.
1864                    # The order of values in an array is preserved as long as all values have
1865                    # identical settings for 'exclude_from_indexes'.
1866                  # Object with schema name: Value
1867                ],
1868              },
1869              "integerValue": "A String", # An integer value.
1870              "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
1871                  # of doubles representing degrees latitude and degrees longitude. Unless
1872                  # specified otherwise, this must conform to the
1873                  # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
1874                  # standard</a>. Values must be within normalized ranges.
1875                "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
1876                "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
1877              },
1878            },
1879          },
1880          "key": { # A unique identifier for an entity. # The entity's key.
1881              #
1882              # An entity must have a key, unless otherwise documented (for example,
1883              # an entity in `Value.entity_value` may have no key).
1884              # An entity's kind is its key path's last element's kind,
1885              # or null if it has no key.
1886              # If a key's partition ID or any of its path kinds or names are
1887              # reserved/read-only, the key is reserved/read-only.
1888              # A reserved/read-only key is forbidden in certain documented contexts.
1889            "path": [ # The entity path.
1890                # An entity path consists of one or more elements composed of a kind and a
1891                # string or numerical identifier, which identify entities. The first
1892                # element identifies a _root entity_, the second element identifies
1893                # a _child_ of the root entity, the third element identifies a child of the
1894                # second entity, and so forth. The entities identified by all prefixes of
1895                # the path are called the element's _ancestors_.
1896                #
1897                # An entity path is always fully complete: *all* of the entity's ancestors
1898                # are required to be in the path along with the entity identifier itself.
1899                # The only exception is that in some documented cases, the identifier in the
1900                # last path element (for the entity) itself may be omitted. For example,
1901                # the last path element of the key of `Mutation.insert` may have no
1902                # identifier.
1903                #
1904                # A path can never be empty, and a path can have at most 100 elements.
1905              { # A (kind, ID/name) pair used to construct a key path.
1906                  #
1907                  # If either name or ID is set, the element is complete.
1908                  # If neither is set, the element is incomplete.
1909                "kind": "A String", # The kind of the entity.
1910                    # A kind matching regex `__.*__` is reserved/read-only.
1911                    # A kind must not contain more than 1500 bytes when UTF-8 encoded.
1912                    # Cannot be `""`.
1913                "name": "A String", # The name of the entity.
1914                    # A name matching regex `__.*__` is reserved/read-only.
1915                    # A name must not be more than 1500 bytes when UTF-8 encoded.
1916                    # Cannot be `""`.
1917                "id": "A String", # The auto-allocated ID of the entity.
1918                    # Never equal to zero. Values less than zero are discouraged and may not
1919                    # be supported in the future.
1920              },
1921            ],
1922            "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
1923                # ID and namespace ID.
1924                # Queries are scoped to a single partition.
1925                # by project and namespace, however the namespace ID may be empty.
1926                #
1927                # A partition ID contains several dimensions:
1928                # project ID and namespace ID.
1929                #
1930                # Partition dimensions:
1931                #
1932                # - May be `""`.
1933                # - Must be valid UTF-8 bytes.
1934                # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
1935                # If the value of any dimension matches regex `__.*__`, the partition is
1936                # reserved/read-only.
1937                # A reserved/read-only partition ID is forbidden in certain documented
1938                # contexts.
1939                #
1940                # Foreign partition IDs (in which the project ID does
1941                # not match the context project ID ) are discouraged.
1942                # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
1943              "projectId": "A String", # The ID of the project to which the entities belong.
1944              "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
1945            },
1946          },
1947        },
1948      },
1949    ],
1950  }</pre>
1951</div>
1952
1953<div class="method">
1954    <code class="details" id="reserveIds">reserveIds(projectId, body, x__xgafv=None)</code>
1955  <pre>Prevents the supplied keys' IDs from being auto-allocated by Cloud
1956Datastore.
1957
1958Args:
1959  projectId: string, The ID of the project against which to make the request. (required)
1960  body: object, The request body. (required)
1961    The object takes the form of:
1962
1963{ # The request for Datastore.ReserveIds.
1964    "keys": [ # A list of keys with complete key paths whose numeric IDs should not be
1965        # auto-allocated.
1966      { # A unique identifier for an entity.
1967          # If a key's partition ID or any of its path kinds or names are
1968          # reserved/read-only, the key is reserved/read-only.
1969          # A reserved/read-only key is forbidden in certain documented contexts.
1970        "path": [ # The entity path.
1971            # An entity path consists of one or more elements composed of a kind and a
1972            # string or numerical identifier, which identify entities. The first
1973            # element identifies a _root entity_, the second element identifies
1974            # a _child_ of the root entity, the third element identifies a child of the
1975            # second entity, and so forth. The entities identified by all prefixes of
1976            # the path are called the element's _ancestors_.
1977            #
1978            # An entity path is always fully complete: *all* of the entity's ancestors
1979            # are required to be in the path along with the entity identifier itself.
1980            # The only exception is that in some documented cases, the identifier in the
1981            # last path element (for the entity) itself may be omitted. For example,
1982            # the last path element of the key of `Mutation.insert` may have no
1983            # identifier.
1984            #
1985            # A path can never be empty, and a path can have at most 100 elements.
1986          { # A (kind, ID/name) pair used to construct a key path.
1987              #
1988              # If either name or ID is set, the element is complete.
1989              # If neither is set, the element is incomplete.
1990            "kind": "A String", # The kind of the entity.
1991                # A kind matching regex `__.*__` is reserved/read-only.
1992                # A kind must not contain more than 1500 bytes when UTF-8 encoded.
1993                # Cannot be `""`.
1994            "name": "A String", # The name of the entity.
1995                # A name matching regex `__.*__` is reserved/read-only.
1996                # A name must not be more than 1500 bytes when UTF-8 encoded.
1997                # Cannot be `""`.
1998            "id": "A String", # The auto-allocated ID of the entity.
1999                # Never equal to zero. Values less than zero are discouraged and may not
2000                # be supported in the future.
2001          },
2002        ],
2003        "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
2004            # ID and namespace ID.
2005            # Queries are scoped to a single partition.
2006            # by project and namespace, however the namespace ID may be empty.
2007            #
2008            # A partition ID contains several dimensions:
2009            # project ID and namespace ID.
2010            #
2011            # Partition dimensions:
2012            #
2013            # - May be `""`.
2014            # - Must be valid UTF-8 bytes.
2015            # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
2016            # If the value of any dimension matches regex `__.*__`, the partition is
2017            # reserved/read-only.
2018            # A reserved/read-only partition ID is forbidden in certain documented
2019            # contexts.
2020            #
2021            # Foreign partition IDs (in which the project ID does
2022            # not match the context project ID ) are discouraged.
2023            # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
2024          "projectId": "A String", # The ID of the project to which the entities belong.
2025          "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
2026        },
2027      },
2028    ],
2029    "databaseId": "A String", # If not empty, the ID of the database against which to make the request.
2030  }
2031
2032  x__xgafv: string, V1 error format.
2033    Allowed values
2034      1 - v1 error format
2035      2 - v2 error format
2036
2037Returns:
2038  An object of the form:
2039
2040    { # The response for Datastore.ReserveIds.
2041  }</pre>
2042</div>
2043
2044<div class="method">
2045    <code class="details" id="rollback">rollback(projectId, body, x__xgafv=None)</code>
2046  <pre>Rolls back a transaction.
2047
2048Args:
2049  projectId: string, The ID of the project against which to make the request. (required)
2050  body: object, The request body. (required)
2051    The object takes the form of:
2052
2053{ # The request for Datastore.Rollback.
2054    "transaction": "A String", # The transaction identifier, returned by a call to
2055        # Datastore.BeginTransaction.
2056  }
2057
2058  x__xgafv: string, V1 error format.
2059    Allowed values
2060      1 - v1 error format
2061      2 - v2 error format
2062
2063Returns:
2064  An object of the form:
2065
2066    { # The response for Datastore.Rollback.
2067      # (an empty message).
2068  }</pre>
2069</div>
2070
2071<div class="method">
2072    <code class="details" id="runQuery">runQuery(projectId, body, x__xgafv=None)</code>
2073  <pre>Queries for entities.
2074
2075Args:
2076  projectId: string, The ID of the project against which to make the request. (required)
2077  body: object, The request body. (required)
2078    The object takes the form of:
2079
2080{ # The request for Datastore.RunQuery.
2081    "query": { # A query for entities. # The query to run.
2082      "startCursor": "A String", # A starting point for the query results. Query cursors are
2083          # returned in query result batches and
2084          # [can only be used to continue the same
2085          # query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
2086      "kind": [ # The kinds to query (if empty, returns entities of all kinds).
2087          # Currently at most 1 kind may be specified.
2088        { # A representation of a kind.
2089          "name": "A String", # The name of the kind.
2090        },
2091      ],
2092      "projection": [ # The projection to return. Defaults to returning all properties.
2093        { # A representation of a property in a projection.
2094          "property": { # A reference to a property relative to the kind expressions. # The property to project.
2095            "name": "A String", # The name of the property.
2096                # If name includes "."s, it may be interpreted as a property name path.
2097          },
2098        },
2099      ],
2100      "distinctOn": [ # The properties to make distinct. The query results will contain the first
2101          # result for each distinct combination of values for the given properties
2102          # (if empty, all results are returned).
2103        { # A reference to a property relative to the kind expressions.
2104          "name": "A String", # The name of the property.
2105              # If name includes "."s, it may be interpreted as a property name path.
2106        },
2107      ],
2108      "filter": { # A holder for any type of filter. # The filter to apply.
2109        "compositeFilter": { # A filter that merges multiple other filters using the given operator. # A composite filter.
2110          "filters": [ # The list of filters to combine.
2111              # Must contain at least one filter.
2112            # Object with schema name: Filter
2113          ],
2114          "op": "A String", # The operator for combining multiple filters.
2115        },
2116        "propertyFilter": { # A filter on a specific property. # A filter on a property.
2117          "property": { # A reference to a property relative to the kind expressions. # The property to filter by.
2118            "name": "A String", # The name of the property.
2119                # If name includes "."s, it may be interpreted as a property name path.
2120          },
2121          "value": { # A message that can hold any of the supported value types and associated # The value to compare the property to.
2122              # metadata.
2123            "entityValue": # Object with schema name: Entity # An entity value.
2124                #
2125                # - May have no key.
2126                # - May have a key with an incomplete key path.
2127                # - May have a reserved/read-only key.
2128            "timestampValue": "A String", # A timestamp value.
2129                # When stored in the Datastore, precise only to microseconds;
2130                # any additional precision is rounded down.
2131            "nullValue": "A String", # A null value.
2132            "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
2133                # explicitly.
2134            "doubleValue": 3.14, # A double value.
2135            "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
2136            "keyValue": { # A unique identifier for an entity. # A key value.
2137                # If a key's partition ID or any of its path kinds or names are
2138                # reserved/read-only, the key is reserved/read-only.
2139                # A reserved/read-only key is forbidden in certain documented contexts.
2140              "path": [ # The entity path.
2141                  # An entity path consists of one or more elements composed of a kind and a
2142                  # string or numerical identifier, which identify entities. The first
2143                  # element identifies a _root entity_, the second element identifies
2144                  # a _child_ of the root entity, the third element identifies a child of the
2145                  # second entity, and so forth. The entities identified by all prefixes of
2146                  # the path are called the element's _ancestors_.
2147                  #
2148                  # An entity path is always fully complete: *all* of the entity's ancestors
2149                  # are required to be in the path along with the entity identifier itself.
2150                  # The only exception is that in some documented cases, the identifier in the
2151                  # last path element (for the entity) itself may be omitted. For example,
2152                  # the last path element of the key of `Mutation.insert` may have no
2153                  # identifier.
2154                  #
2155                  # A path can never be empty, and a path can have at most 100 elements.
2156                { # A (kind, ID/name) pair used to construct a key path.
2157                    #
2158                    # If either name or ID is set, the element is complete.
2159                    # If neither is set, the element is incomplete.
2160                  "kind": "A String", # The kind of the entity.
2161                      # A kind matching regex `__.*__` is reserved/read-only.
2162                      # A kind must not contain more than 1500 bytes when UTF-8 encoded.
2163                      # Cannot be `""`.
2164                  "name": "A String", # The name of the entity.
2165                      # A name matching regex `__.*__` is reserved/read-only.
2166                      # A name must not be more than 1500 bytes when UTF-8 encoded.
2167                      # Cannot be `""`.
2168                  "id": "A String", # The auto-allocated ID of the entity.
2169                      # Never equal to zero. Values less than zero are discouraged and may not
2170                      # be supported in the future.
2171                },
2172              ],
2173              "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
2174                  # ID and namespace ID.
2175                  # Queries are scoped to a single partition.
2176                  # by project and namespace, however the namespace ID may be empty.
2177                  #
2178                  # A partition ID contains several dimensions:
2179                  # project ID and namespace ID.
2180                  #
2181                  # Partition dimensions:
2182                  #
2183                  # - May be `""`.
2184                  # - Must be valid UTF-8 bytes.
2185                  # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
2186                  # If the value of any dimension matches regex `__.*__`, the partition is
2187                  # reserved/read-only.
2188                  # A reserved/read-only partition ID is forbidden in certain documented
2189                  # contexts.
2190                  #
2191                  # Foreign partition IDs (in which the project ID does
2192                  # not match the context project ID ) are discouraged.
2193                  # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
2194                "projectId": "A String", # The ID of the project to which the entities belong.
2195                "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
2196              },
2197            },
2198            "blobValue": "A String", # A blob value.
2199                # May have at most 1,000,000 bytes.
2200                # When `exclude_from_indexes` is false, may have at most 1500 bytes.
2201                # In JSON requests, must be base64-encoded.
2202            "stringValue": "A String", # A UTF-8 encoded string value.
2203                # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
2204                # Otherwise, may be set to at least 1,000,000 bytes.
2205            "booleanValue": True or False, # A boolean value.
2206            "arrayValue": { # An array value. # An array value.
2207                # Cannot contain another array value.
2208                # A `Value` instance that sets field `array_value` must not set fields
2209                # `meaning` or `exclude_from_indexes`.
2210              "values": [ # Values in the array.
2211                  # The order of values in an array is preserved as long as all values have
2212                  # identical settings for 'exclude_from_indexes'.
2213                # Object with schema name: Value
2214              ],
2215            },
2216            "integerValue": "A String", # An integer value.
2217            "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
2218                # of doubles representing degrees latitude and degrees longitude. Unless
2219                # specified otherwise, this must conform to the
2220                # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
2221                # standard</a>. Values must be within normalized ranges.
2222              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
2223              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
2224            },
2225          },
2226          "op": "A String", # The operator to filter by.
2227        },
2228      },
2229      "limit": 42, # The maximum number of results to return. Applies after all other
2230          # constraints. Optional.
2231          # Unspecified is interpreted as no limit.
2232          # Must be >= 0 if specified.
2233      "offset": 42, # The number of results to skip. Applies before limit, but after all other
2234          # constraints. Optional. Must be >= 0 if specified.
2235      "endCursor": "A String", # An ending point for the query results. Query cursors are
2236          # returned in query result batches and
2237          # [can only be used to limit the same
2238          # query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
2239      "order": [ # The order to apply to the query results (if empty, order is unspecified).
2240        { # The desired order for a specific property.
2241          "direction": "A String", # The direction to order by. Defaults to `ASCENDING`.
2242          "property": { # A reference to a property relative to the kind expressions. # The property to order by.
2243            "name": "A String", # The name of the property.
2244                # If name includes "."s, it may be interpreted as a property name path.
2245          },
2246        },
2247      ],
2248    },
2249    "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, identified by a partition ID.
2250        # Queries are scoped to a single partition.
2251        # This partition ID is normalized with the standard default context
2252        # partition ID.
2253        # by project and namespace, however the namespace ID may be empty.
2254        #
2255        # A partition ID contains several dimensions:
2256        # project ID and namespace ID.
2257        #
2258        # Partition dimensions:
2259        #
2260        # - May be `""`.
2261        # - Must be valid UTF-8 bytes.
2262        # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
2263        # If the value of any dimension matches regex `__.*__`, the partition is
2264        # reserved/read-only.
2265        # A reserved/read-only partition ID is forbidden in certain documented
2266        # contexts.
2267        #
2268        # Foreign partition IDs (in which the project ID does
2269        # not match the context project ID ) are discouraged.
2270        # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
2271      "projectId": "A String", # The ID of the project to which the entities belong.
2272      "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
2273    },
2274    "gqlQuery": { # A [GQL # The GQL query to run.
2275        # query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
2276      "namedBindings": { # For each non-reserved named binding site in the query string, there must be
2277          # a named parameter with that name, but not necessarily the inverse.
2278          #
2279          # Key must match regex `A-Za-z_$*`, must not match regex
2280          # `__.*__`, and must not be `""`.
2281        "a_key": { # A binding parameter for a GQL query.
2282          "cursor": "A String", # A query cursor. Query cursors are returned in query
2283              # result batches.
2284          "value": { # A message that can hold any of the supported value types and associated # A value parameter.
2285              # metadata.
2286            "entityValue": # Object with schema name: Entity # An entity value.
2287                #
2288                # - May have no key.
2289                # - May have a key with an incomplete key path.
2290                # - May have a reserved/read-only key.
2291            "timestampValue": "A String", # A timestamp value.
2292                # When stored in the Datastore, precise only to microseconds;
2293                # any additional precision is rounded down.
2294            "nullValue": "A String", # A null value.
2295            "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
2296                # explicitly.
2297            "doubleValue": 3.14, # A double value.
2298            "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
2299            "keyValue": { # A unique identifier for an entity. # A key value.
2300                # If a key's partition ID or any of its path kinds or names are
2301                # reserved/read-only, the key is reserved/read-only.
2302                # A reserved/read-only key is forbidden in certain documented contexts.
2303              "path": [ # The entity path.
2304                  # An entity path consists of one or more elements composed of a kind and a
2305                  # string or numerical identifier, which identify entities. The first
2306                  # element identifies a _root entity_, the second element identifies
2307                  # a _child_ of the root entity, the third element identifies a child of the
2308                  # second entity, and so forth. The entities identified by all prefixes of
2309                  # the path are called the element's _ancestors_.
2310                  #
2311                  # An entity path is always fully complete: *all* of the entity's ancestors
2312                  # are required to be in the path along with the entity identifier itself.
2313                  # The only exception is that in some documented cases, the identifier in the
2314                  # last path element (for the entity) itself may be omitted. For example,
2315                  # the last path element of the key of `Mutation.insert` may have no
2316                  # identifier.
2317                  #
2318                  # A path can never be empty, and a path can have at most 100 elements.
2319                { # A (kind, ID/name) pair used to construct a key path.
2320                    #
2321                    # If either name or ID is set, the element is complete.
2322                    # If neither is set, the element is incomplete.
2323                  "kind": "A String", # The kind of the entity.
2324                      # A kind matching regex `__.*__` is reserved/read-only.
2325                      # A kind must not contain more than 1500 bytes when UTF-8 encoded.
2326                      # Cannot be `""`.
2327                  "name": "A String", # The name of the entity.
2328                      # A name matching regex `__.*__` is reserved/read-only.
2329                      # A name must not be more than 1500 bytes when UTF-8 encoded.
2330                      # Cannot be `""`.
2331                  "id": "A String", # The auto-allocated ID of the entity.
2332                      # Never equal to zero. Values less than zero are discouraged and may not
2333                      # be supported in the future.
2334                },
2335              ],
2336              "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
2337                  # ID and namespace ID.
2338                  # Queries are scoped to a single partition.
2339                  # by project and namespace, however the namespace ID may be empty.
2340                  #
2341                  # A partition ID contains several dimensions:
2342                  # project ID and namespace ID.
2343                  #
2344                  # Partition dimensions:
2345                  #
2346                  # - May be `""`.
2347                  # - Must be valid UTF-8 bytes.
2348                  # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
2349                  # If the value of any dimension matches regex `__.*__`, the partition is
2350                  # reserved/read-only.
2351                  # A reserved/read-only partition ID is forbidden in certain documented
2352                  # contexts.
2353                  #
2354                  # Foreign partition IDs (in which the project ID does
2355                  # not match the context project ID ) are discouraged.
2356                  # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
2357                "projectId": "A String", # The ID of the project to which the entities belong.
2358                "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
2359              },
2360            },
2361            "blobValue": "A String", # A blob value.
2362                # May have at most 1,000,000 bytes.
2363                # When `exclude_from_indexes` is false, may have at most 1500 bytes.
2364                # In JSON requests, must be base64-encoded.
2365            "stringValue": "A String", # A UTF-8 encoded string value.
2366                # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
2367                # Otherwise, may be set to at least 1,000,000 bytes.
2368            "booleanValue": True or False, # A boolean value.
2369            "arrayValue": { # An array value. # An array value.
2370                # Cannot contain another array value.
2371                # A `Value` instance that sets field `array_value` must not set fields
2372                # `meaning` or `exclude_from_indexes`.
2373              "values": [ # Values in the array.
2374                  # The order of values in an array is preserved as long as all values have
2375                  # identical settings for 'exclude_from_indexes'.
2376                # Object with schema name: Value
2377              ],
2378            },
2379            "integerValue": "A String", # An integer value.
2380            "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
2381                # of doubles representing degrees latitude and degrees longitude. Unless
2382                # specified otherwise, this must conform to the
2383                # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
2384                # standard</a>. Values must be within normalized ranges.
2385              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
2386              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
2387            },
2388          },
2389        },
2390      },
2391      "positionalBindings": [ # Numbered binding site @1 references the first numbered parameter,
2392          # effectively using 1-based indexing, rather than the usual 0.
2393          #
2394          # For each binding site numbered i in `query_string`, there must be an i-th
2395          # numbered parameter. The inverse must also be true.
2396        { # A binding parameter for a GQL query.
2397          "cursor": "A String", # A query cursor. Query cursors are returned in query
2398              # result batches.
2399          "value": { # A message that can hold any of the supported value types and associated # A value parameter.
2400              # metadata.
2401            "entityValue": # Object with schema name: Entity # An entity value.
2402                #
2403                # - May have no key.
2404                # - May have a key with an incomplete key path.
2405                # - May have a reserved/read-only key.
2406            "timestampValue": "A String", # A timestamp value.
2407                # When stored in the Datastore, precise only to microseconds;
2408                # any additional precision is rounded down.
2409            "nullValue": "A String", # A null value.
2410            "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
2411                # explicitly.
2412            "doubleValue": 3.14, # A double value.
2413            "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
2414            "keyValue": { # A unique identifier for an entity. # A key value.
2415                # If a key's partition ID or any of its path kinds or names are
2416                # reserved/read-only, the key is reserved/read-only.
2417                # A reserved/read-only key is forbidden in certain documented contexts.
2418              "path": [ # The entity path.
2419                  # An entity path consists of one or more elements composed of a kind and a
2420                  # string or numerical identifier, which identify entities. The first
2421                  # element identifies a _root entity_, the second element identifies
2422                  # a _child_ of the root entity, the third element identifies a child of the
2423                  # second entity, and so forth. The entities identified by all prefixes of
2424                  # the path are called the element's _ancestors_.
2425                  #
2426                  # An entity path is always fully complete: *all* of the entity's ancestors
2427                  # are required to be in the path along with the entity identifier itself.
2428                  # The only exception is that in some documented cases, the identifier in the
2429                  # last path element (for the entity) itself may be omitted. For example,
2430                  # the last path element of the key of `Mutation.insert` may have no
2431                  # identifier.
2432                  #
2433                  # A path can never be empty, and a path can have at most 100 elements.
2434                { # A (kind, ID/name) pair used to construct a key path.
2435                    #
2436                    # If either name or ID is set, the element is complete.
2437                    # If neither is set, the element is incomplete.
2438                  "kind": "A String", # The kind of the entity.
2439                      # A kind matching regex `__.*__` is reserved/read-only.
2440                      # A kind must not contain more than 1500 bytes when UTF-8 encoded.
2441                      # Cannot be `""`.
2442                  "name": "A String", # The name of the entity.
2443                      # A name matching regex `__.*__` is reserved/read-only.
2444                      # A name must not be more than 1500 bytes when UTF-8 encoded.
2445                      # Cannot be `""`.
2446                  "id": "A String", # The auto-allocated ID of the entity.
2447                      # Never equal to zero. Values less than zero are discouraged and may not
2448                      # be supported in the future.
2449                },
2450              ],
2451              "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
2452                  # ID and namespace ID.
2453                  # Queries are scoped to a single partition.
2454                  # by project and namespace, however the namespace ID may be empty.
2455                  #
2456                  # A partition ID contains several dimensions:
2457                  # project ID and namespace ID.
2458                  #
2459                  # Partition dimensions:
2460                  #
2461                  # - May be `""`.
2462                  # - Must be valid UTF-8 bytes.
2463                  # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
2464                  # If the value of any dimension matches regex `__.*__`, the partition is
2465                  # reserved/read-only.
2466                  # A reserved/read-only partition ID is forbidden in certain documented
2467                  # contexts.
2468                  #
2469                  # Foreign partition IDs (in which the project ID does
2470                  # not match the context project ID ) are discouraged.
2471                  # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
2472                "projectId": "A String", # The ID of the project to which the entities belong.
2473                "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
2474              },
2475            },
2476            "blobValue": "A String", # A blob value.
2477                # May have at most 1,000,000 bytes.
2478                # When `exclude_from_indexes` is false, may have at most 1500 bytes.
2479                # In JSON requests, must be base64-encoded.
2480            "stringValue": "A String", # A UTF-8 encoded string value.
2481                # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
2482                # Otherwise, may be set to at least 1,000,000 bytes.
2483            "booleanValue": True or False, # A boolean value.
2484            "arrayValue": { # An array value. # An array value.
2485                # Cannot contain another array value.
2486                # A `Value` instance that sets field `array_value` must not set fields
2487                # `meaning` or `exclude_from_indexes`.
2488              "values": [ # Values in the array.
2489                  # The order of values in an array is preserved as long as all values have
2490                  # identical settings for 'exclude_from_indexes'.
2491                # Object with schema name: Value
2492              ],
2493            },
2494            "integerValue": "A String", # An integer value.
2495            "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
2496                # of doubles representing degrees latitude and degrees longitude. Unless
2497                # specified otherwise, this must conform to the
2498                # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
2499                # standard</a>. Values must be within normalized ranges.
2500              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
2501              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
2502            },
2503          },
2504        },
2505      ],
2506      "queryString": "A String", # A string of the format described
2507          # [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
2508      "allowLiterals": True or False, # When false, the query string must not contain any literals and instead must
2509          # bind all values. For example,
2510          # `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while
2511          # `SELECT * FROM Kind WHERE a = @value` is.
2512    },
2513    "readOptions": { # The options shared by read requests. # The options for this query.
2514      "transaction": "A String", # The identifier of the transaction in which to read. A
2515          # transaction identifier is returned by a call to
2516          # Datastore.BeginTransaction.
2517      "readConsistency": "A String", # The non-transactional read consistency to use.
2518          # Cannot be set to `STRONG` for global queries.
2519    },
2520  }
2521
2522  x__xgafv: string, V1 error format.
2523    Allowed values
2524      1 - v1 error format
2525      2 - v2 error format
2526
2527Returns:
2528  An object of the form:
2529
2530    { # The response for Datastore.RunQuery.
2531    "query": { # A query for entities. # The parsed form of the `GqlQuery` from the request, if it was set.
2532      "startCursor": "A String", # A starting point for the query results. Query cursors are
2533          # returned in query result batches and
2534          # [can only be used to continue the same
2535          # query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
2536      "kind": [ # The kinds to query (if empty, returns entities of all kinds).
2537          # Currently at most 1 kind may be specified.
2538        { # A representation of a kind.
2539          "name": "A String", # The name of the kind.
2540        },
2541      ],
2542      "projection": [ # The projection to return. Defaults to returning all properties.
2543        { # A representation of a property in a projection.
2544          "property": { # A reference to a property relative to the kind expressions. # The property to project.
2545            "name": "A String", # The name of the property.
2546                # If name includes "."s, it may be interpreted as a property name path.
2547          },
2548        },
2549      ],
2550      "distinctOn": [ # The properties to make distinct. The query results will contain the first
2551          # result for each distinct combination of values for the given properties
2552          # (if empty, all results are returned).
2553        { # A reference to a property relative to the kind expressions.
2554          "name": "A String", # The name of the property.
2555              # If name includes "."s, it may be interpreted as a property name path.
2556        },
2557      ],
2558      "filter": { # A holder for any type of filter. # The filter to apply.
2559        "compositeFilter": { # A filter that merges multiple other filters using the given operator. # A composite filter.
2560          "filters": [ # The list of filters to combine.
2561              # Must contain at least one filter.
2562            # Object with schema name: Filter
2563          ],
2564          "op": "A String", # The operator for combining multiple filters.
2565        },
2566        "propertyFilter": { # A filter on a specific property. # A filter on a property.
2567          "property": { # A reference to a property relative to the kind expressions. # The property to filter by.
2568            "name": "A String", # The name of the property.
2569                # If name includes "."s, it may be interpreted as a property name path.
2570          },
2571          "value": { # A message that can hold any of the supported value types and associated # The value to compare the property to.
2572              # metadata.
2573            "entityValue": # Object with schema name: Entity # An entity value.
2574                #
2575                # - May have no key.
2576                # - May have a key with an incomplete key path.
2577                # - May have a reserved/read-only key.
2578            "timestampValue": "A String", # A timestamp value.
2579                # When stored in the Datastore, precise only to microseconds;
2580                # any additional precision is rounded down.
2581            "nullValue": "A String", # A null value.
2582            "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
2583                # explicitly.
2584            "doubleValue": 3.14, # A double value.
2585            "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
2586            "keyValue": { # A unique identifier for an entity. # A key value.
2587                # If a key's partition ID or any of its path kinds or names are
2588                # reserved/read-only, the key is reserved/read-only.
2589                # A reserved/read-only key is forbidden in certain documented contexts.
2590              "path": [ # The entity path.
2591                  # An entity path consists of one or more elements composed of a kind and a
2592                  # string or numerical identifier, which identify entities. The first
2593                  # element identifies a _root entity_, the second element identifies
2594                  # a _child_ of the root entity, the third element identifies a child of the
2595                  # second entity, and so forth. The entities identified by all prefixes of
2596                  # the path are called the element's _ancestors_.
2597                  #
2598                  # An entity path is always fully complete: *all* of the entity's ancestors
2599                  # are required to be in the path along with the entity identifier itself.
2600                  # The only exception is that in some documented cases, the identifier in the
2601                  # last path element (for the entity) itself may be omitted. For example,
2602                  # the last path element of the key of `Mutation.insert` may have no
2603                  # identifier.
2604                  #
2605                  # A path can never be empty, and a path can have at most 100 elements.
2606                { # A (kind, ID/name) pair used to construct a key path.
2607                    #
2608                    # If either name or ID is set, the element is complete.
2609                    # If neither is set, the element is incomplete.
2610                  "kind": "A String", # The kind of the entity.
2611                      # A kind matching regex `__.*__` is reserved/read-only.
2612                      # A kind must not contain more than 1500 bytes when UTF-8 encoded.
2613                      # Cannot be `""`.
2614                  "name": "A String", # The name of the entity.
2615                      # A name matching regex `__.*__` is reserved/read-only.
2616                      # A name must not be more than 1500 bytes when UTF-8 encoded.
2617                      # Cannot be `""`.
2618                  "id": "A String", # The auto-allocated ID of the entity.
2619                      # Never equal to zero. Values less than zero are discouraged and may not
2620                      # be supported in the future.
2621                },
2622              ],
2623              "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
2624                  # ID and namespace ID.
2625                  # Queries are scoped to a single partition.
2626                  # by project and namespace, however the namespace ID may be empty.
2627                  #
2628                  # A partition ID contains several dimensions:
2629                  # project ID and namespace ID.
2630                  #
2631                  # Partition dimensions:
2632                  #
2633                  # - May be `""`.
2634                  # - Must be valid UTF-8 bytes.
2635                  # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
2636                  # If the value of any dimension matches regex `__.*__`, the partition is
2637                  # reserved/read-only.
2638                  # A reserved/read-only partition ID is forbidden in certain documented
2639                  # contexts.
2640                  #
2641                  # Foreign partition IDs (in which the project ID does
2642                  # not match the context project ID ) are discouraged.
2643                  # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
2644                "projectId": "A String", # The ID of the project to which the entities belong.
2645                "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
2646              },
2647            },
2648            "blobValue": "A String", # A blob value.
2649                # May have at most 1,000,000 bytes.
2650                # When `exclude_from_indexes` is false, may have at most 1500 bytes.
2651                # In JSON requests, must be base64-encoded.
2652            "stringValue": "A String", # A UTF-8 encoded string value.
2653                # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
2654                # Otherwise, may be set to at least 1,000,000 bytes.
2655            "booleanValue": True or False, # A boolean value.
2656            "arrayValue": { # An array value. # An array value.
2657                # Cannot contain another array value.
2658                # A `Value` instance that sets field `array_value` must not set fields
2659                # `meaning` or `exclude_from_indexes`.
2660              "values": [ # Values in the array.
2661                  # The order of values in an array is preserved as long as all values have
2662                  # identical settings for 'exclude_from_indexes'.
2663                # Object with schema name: Value
2664              ],
2665            },
2666            "integerValue": "A String", # An integer value.
2667            "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
2668                # of doubles representing degrees latitude and degrees longitude. Unless
2669                # specified otherwise, this must conform to the
2670                # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
2671                # standard</a>. Values must be within normalized ranges.
2672              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
2673              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
2674            },
2675          },
2676          "op": "A String", # The operator to filter by.
2677        },
2678      },
2679      "limit": 42, # The maximum number of results to return. Applies after all other
2680          # constraints. Optional.
2681          # Unspecified is interpreted as no limit.
2682          # Must be >= 0 if specified.
2683      "offset": 42, # The number of results to skip. Applies before limit, but after all other
2684          # constraints. Optional. Must be >= 0 if specified.
2685      "endCursor": "A String", # An ending point for the query results. Query cursors are
2686          # returned in query result batches and
2687          # [can only be used to limit the same
2688          # query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
2689      "order": [ # The order to apply to the query results (if empty, order is unspecified).
2690        { # The desired order for a specific property.
2691          "direction": "A String", # The direction to order by. Defaults to `ASCENDING`.
2692          "property": { # A reference to a property relative to the kind expressions. # The property to order by.
2693            "name": "A String", # The name of the property.
2694                # If name includes "."s, it may be interpreted as a property name path.
2695          },
2696        },
2697      ],
2698    },
2699    "batch": { # A batch of results produced by a query. # A batch of query results (always present).
2700      "entityResultType": "A String", # The result type for every entity in `entity_results`.
2701      "snapshotVersion": "A String", # The version number of the snapshot this batch was returned from.
2702          # This applies to the range of results from the query's `start_cursor` (or
2703          # the beginning of the query if no cursor was given) to this batch's
2704          # `end_cursor` (not the query's `end_cursor`).
2705          #
2706          # In a single transaction, subsequent query result batches for the same query
2707          # can have a greater snapshot version number. Each batch's snapshot version
2708          # is valid for all preceding batches.
2709          # The value will be zero for eventually consistent queries.
2710      "skippedResults": 42, # The number of results skipped, typically because of an offset.
2711      "entityResults": [ # The results for this batch.
2712        { # The result of fetching an entity from Datastore.
2713          "cursor": "A String", # A cursor that points to the position after the result entity.
2714              # Set only when the `EntityResult` is part of a `QueryResultBatch` message.
2715          "version": "A String", # The version of the entity, a strictly positive number that monotonically
2716              # increases with changes to the entity.
2717              #
2718              # This field is set for `FULL` entity
2719              # results.
2720              #
2721              # For missing entities in `LookupResponse`, this
2722              # is the version of the snapshot that was used to look up the entity, and it
2723              # is always set except for eventually consistent reads.
2724          "entity": { # A Datastore data object. # The resulting entity.
2725              #
2726              # An entity is limited to 1 megabyte when stored. That _roughly_
2727              # corresponds to a limit of 1 megabyte for the serialized form of this
2728              # message.
2729            "properties": { # The entity's properties.
2730                # The map's keys are property names.
2731                # A property name matching regex `__.*__` is reserved.
2732                # A reserved property name is forbidden in certain documented contexts.
2733                # The name must not contain more than 500 characters.
2734                # The name cannot be `""`.
2735              "a_key": { # A message that can hold any of the supported value types and associated
2736                  # metadata.
2737                "entityValue": # Object with schema name: Entity # An entity value.
2738                    #
2739                    # - May have no key.
2740                    # - May have a key with an incomplete key path.
2741                    # - May have a reserved/read-only key.
2742                "timestampValue": "A String", # A timestamp value.
2743                    # When stored in the Datastore, precise only to microseconds;
2744                    # any additional precision is rounded down.
2745                "nullValue": "A String", # A null value.
2746                "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
2747                    # explicitly.
2748                "doubleValue": 3.14, # A double value.
2749                "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
2750                "keyValue": { # A unique identifier for an entity. # A key value.
2751                    # If a key's partition ID or any of its path kinds or names are
2752                    # reserved/read-only, the key is reserved/read-only.
2753                    # A reserved/read-only key is forbidden in certain documented contexts.
2754                  "path": [ # The entity path.
2755                      # An entity path consists of one or more elements composed of a kind and a
2756                      # string or numerical identifier, which identify entities. The first
2757                      # element identifies a _root entity_, the second element identifies
2758                      # a _child_ of the root entity, the third element identifies a child of the
2759                      # second entity, and so forth. The entities identified by all prefixes of
2760                      # the path are called the element's _ancestors_.
2761                      #
2762                      # An entity path is always fully complete: *all* of the entity's ancestors
2763                      # are required to be in the path along with the entity identifier itself.
2764                      # The only exception is that in some documented cases, the identifier in the
2765                      # last path element (for the entity) itself may be omitted. For example,
2766                      # the last path element of the key of `Mutation.insert` may have no
2767                      # identifier.
2768                      #
2769                      # A path can never be empty, and a path can have at most 100 elements.
2770                    { # A (kind, ID/name) pair used to construct a key path.
2771                        #
2772                        # If either name or ID is set, the element is complete.
2773                        # If neither is set, the element is incomplete.
2774                      "kind": "A String", # The kind of the entity.
2775                          # A kind matching regex `__.*__` is reserved/read-only.
2776                          # A kind must not contain more than 1500 bytes when UTF-8 encoded.
2777                          # Cannot be `""`.
2778                      "name": "A String", # The name of the entity.
2779                          # A name matching regex `__.*__` is reserved/read-only.
2780                          # A name must not be more than 1500 bytes when UTF-8 encoded.
2781                          # Cannot be `""`.
2782                      "id": "A String", # The auto-allocated ID of the entity.
2783                          # Never equal to zero. Values less than zero are discouraged and may not
2784                          # be supported in the future.
2785                    },
2786                  ],
2787                  "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
2788                      # ID and namespace ID.
2789                      # Queries are scoped to a single partition.
2790                      # by project and namespace, however the namespace ID may be empty.
2791                      #
2792                      # A partition ID contains several dimensions:
2793                      # project ID and namespace ID.
2794                      #
2795                      # Partition dimensions:
2796                      #
2797                      # - May be `""`.
2798                      # - Must be valid UTF-8 bytes.
2799                      # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
2800                      # If the value of any dimension matches regex `__.*__`, the partition is
2801                      # reserved/read-only.
2802                      # A reserved/read-only partition ID is forbidden in certain documented
2803                      # contexts.
2804                      #
2805                      # Foreign partition IDs (in which the project ID does
2806                      # not match the context project ID ) are discouraged.
2807                      # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
2808                    "projectId": "A String", # The ID of the project to which the entities belong.
2809                    "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
2810                  },
2811                },
2812                "blobValue": "A String", # A blob value.
2813                    # May have at most 1,000,000 bytes.
2814                    # When `exclude_from_indexes` is false, may have at most 1500 bytes.
2815                    # In JSON requests, must be base64-encoded.
2816                "stringValue": "A String", # A UTF-8 encoded string value.
2817                    # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
2818                    # Otherwise, may be set to at least 1,000,000 bytes.
2819                "booleanValue": True or False, # A boolean value.
2820                "arrayValue": { # An array value. # An array value.
2821                    # Cannot contain another array value.
2822                    # A `Value` instance that sets field `array_value` must not set fields
2823                    # `meaning` or `exclude_from_indexes`.
2824                  "values": [ # Values in the array.
2825                      # The order of values in an array is preserved as long as all values have
2826                      # identical settings for 'exclude_from_indexes'.
2827                    # Object with schema name: Value
2828                  ],
2829                },
2830                "integerValue": "A String", # An integer value.
2831                "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
2832                    # of doubles representing degrees latitude and degrees longitude. Unless
2833                    # specified otherwise, this must conform to the
2834                    # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
2835                    # standard</a>. Values must be within normalized ranges.
2836                  "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
2837                  "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
2838                },
2839              },
2840            },
2841            "key": { # A unique identifier for an entity. # The entity's key.
2842                #
2843                # An entity must have a key, unless otherwise documented (for example,
2844                # an entity in `Value.entity_value` may have no key).
2845                # An entity's kind is its key path's last element's kind,
2846                # or null if it has no key.
2847                # If a key's partition ID or any of its path kinds or names are
2848                # reserved/read-only, the key is reserved/read-only.
2849                # A reserved/read-only key is forbidden in certain documented contexts.
2850              "path": [ # The entity path.
2851                  # An entity path consists of one or more elements composed of a kind and a
2852                  # string or numerical identifier, which identify entities. The first
2853                  # element identifies a _root entity_, the second element identifies
2854                  # a _child_ of the root entity, the third element identifies a child of the
2855                  # second entity, and so forth. The entities identified by all prefixes of
2856                  # the path are called the element's _ancestors_.
2857                  #
2858                  # An entity path is always fully complete: *all* of the entity's ancestors
2859                  # are required to be in the path along with the entity identifier itself.
2860                  # The only exception is that in some documented cases, the identifier in the
2861                  # last path element (for the entity) itself may be omitted. For example,
2862                  # the last path element of the key of `Mutation.insert` may have no
2863                  # identifier.
2864                  #
2865                  # A path can never be empty, and a path can have at most 100 elements.
2866                { # A (kind, ID/name) pair used to construct a key path.
2867                    #
2868                    # If either name or ID is set, the element is complete.
2869                    # If neither is set, the element is incomplete.
2870                  "kind": "A String", # The kind of the entity.
2871                      # A kind matching regex `__.*__` is reserved/read-only.
2872                      # A kind must not contain more than 1500 bytes when UTF-8 encoded.
2873                      # Cannot be `""`.
2874                  "name": "A String", # The name of the entity.
2875                      # A name matching regex `__.*__` is reserved/read-only.
2876                      # A name must not be more than 1500 bytes when UTF-8 encoded.
2877                      # Cannot be `""`.
2878                  "id": "A String", # The auto-allocated ID of the entity.
2879                      # Never equal to zero. Values less than zero are discouraged and may not
2880                      # be supported in the future.
2881                },
2882              ],
2883              "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
2884                  # ID and namespace ID.
2885                  # Queries are scoped to a single partition.
2886                  # by project and namespace, however the namespace ID may be empty.
2887                  #
2888                  # A partition ID contains several dimensions:
2889                  # project ID and namespace ID.
2890                  #
2891                  # Partition dimensions:
2892                  #
2893                  # - May be `""`.
2894                  # - Must be valid UTF-8 bytes.
2895                  # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
2896                  # If the value of any dimension matches regex `__.*__`, the partition is
2897                  # reserved/read-only.
2898                  # A reserved/read-only partition ID is forbidden in certain documented
2899                  # contexts.
2900                  #
2901                  # Foreign partition IDs (in which the project ID does
2902                  # not match the context project ID ) are discouraged.
2903                  # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
2904                "projectId": "A String", # The ID of the project to which the entities belong.
2905                "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
2906              },
2907            },
2908          },
2909        },
2910      ],
2911      "skippedCursor": "A String", # A cursor that points to the position after the last skipped result.
2912          # Will be set when `skipped_results` != 0.
2913      "moreResults": "A String", # The state of the query after the current batch.
2914      "endCursor": "A String", # A cursor that points to the position after the last result in the batch.
2915    },
2916  }</pre>
2917</div>
2918
2919</body></html>