본문 바로가기

카테고리 없음

GCP send blob data datastore python

반응형
Send data to Google Cloud Platform(GCP) datastore /


from google.cloud import datastore
from google.cloud.datastore.key import Key
import argparse

def sendDataToGCP(q_data, g_data, str_id, str_namespace):
client = datastore.Client()
key = client.key('graph', str_id, namespace=str_namespace)
entity = datastore.Entity(key=key, exclude_from_indexes=['query','graph'])
entity["title"] = str_id;
entity["description"] = str_id;

entity["query"] = q_data; #json.dumps(json.load(q_data))

entity["graph"] = g_data;
client.put(entity)
# Then get by key for this entity
result = client.get(key)
print(result)
if __name__ == '__main__':
progpath = os.path.dirname(os.path.realpath(__file__))
parser = argparse.ArgumentParser()
parser.add_argument("-s","--store-namespace",metavar='file',type=str,
help="Set Namespace default: %(default)s", default=None)
parser.add_argument("-i","--store-id",metavar='file',type=int,
help="Set id,as url default: %(default)s", default=1)
parser.add_argument("-q","--query-file",metavar='file',type=str,
help="input query file. if not given, then it assums STDIN as input",
default=None)
parser.add_argument("-g","--graph-file",metavar='file',type=str,
help="input graph(.json) file. if not given, then it assums STDIN as input",
default=None)
args = parser.parse_args()
args_dict = vars(args)
try:
if args_dict['store_id'] != None:
str_id = args_dict['store_id']
else:
print (sys.stdin)
except:
print ("exception: invalid store id")
try:
if args_dict['store_namespace'] != None:
str_namespace = args_dict['store_namespace']
else:
print (sys.stdin)
except:
print ("exception: invalid namespace")
try:
if args_dict['query_file'] != None:
f = open(args_dict['query_file'], 'r')
q_data = f.read()
f.close()
else:
print (sys.stdin)
except:

print("An exception occurred on Reading Query file.")

try:
if args_dict['graph_file'] != None:
f = open(args_dict['graph_file'], 'r')
g_data = f.read()
f.close()
else:
print (sys.stdin)
except:
print("An exception occurred on Reqading Graph file.")
sendDataToGCP(q_data, g_data, str_id, str_namespace)



반응형