Guest User

Untitled

a guest
Jul 20th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. import apache_beam as beam
  2.  
  3. from apache_beam.io.gcp.datastore.v1.datastoreio import ReadFromDatastore
  4. from google.cloud.proto.datastore.v1 import query_pb2
  5.  
  6. from googledatastore import helper as datastore_helper
  7. from googledatastore import PropertyFilter
  8.  
  9.  
  10. p = beam.Pipeline(options=pipeline_options)
  11.  
  12. # Create a query and filter by kind
  13. query = query_pb2.Query()
  14. query.kind.add().name = 'EntityKind'
  15.  
  16. # Create a query for entries with timestamp >= 2018-01-01 (1514764800)
  17. timestampStartQuery = query_pb2.Query()
  18. datastore_helper.set_property_filter(
  19. timestampStartQuery.filter, 'timestamp', query_pb2.PropertyFilter.GREATER_THAN_OR_EQUAL, 1514764800)
  20.  
  21. # Create a query for entries with timestamp <= 2018-01-31 (1517443199)
  22. timestampEndQuery = query_pb2.Query()
  23. datastore_helper.set_property_filter(
  24. timestampStartQuery.filter, 'timestamp', query_pb2.PropertyFilter.LESS_THAN_OR_EQUAL, 1517443199)
  25.  
  26. # Combine both queries in a local AND to get entries between 2018-01-01 AND 2018-01-31
  27. datastore_helper.set_composite_filter(
  28. familyLogQuery.filter, query_pb2.CompositeFilter.AND,
  29. timestampStartQuery,
  30. timestampEndQuery)
  31.  
  32. result = p | ReadFromDatastore(project=PROJECT_ID, query=query)
Add Comment
Please, Sign In to add comment