def time_series_in_cdp(): global TEST_TS_1_ID, TEST_TS_2_ID client = CogniteClient() try: ts_list = [TimeSeries(name=TEST_TS_1_NAME)] client.time_series.post_time_series(ts_list) log.warning("Posted sdk test time series 1") client.datapoints.post_datapoints( name=TEST_TS_1_NAME, datapoints=[Datapoint(timestamp=i, value=i) for i in range(TEST_TS_START, TEST_TS_END, int(3.6e6))], ) log.warning("Posted datapoints to sdk test time series 1") TEST_TS_1_ID = client.time_series.get_time_series(prefix=TEST_TS_1_NAME).to_json()[0]["id"] except APIError as e: log.warning("Posting test time series 1 failed with code {}".format(e.code)) try: ts_list = [TimeSeries(name=TEST_TS_2_NAME)] client.time_series.post_time_series(ts_list) log.warning("Posted sdk test time series 2") client.datapoints.post_datapoints( name=TEST_TS_2_NAME, datapoints=[Datapoint(timestamp=i, value=i) for i in range(TEST_TS_START, TEST_TS_END, int(3.6e6))], ) log.warning("Posted datapoints to sdk test time series 2") TEST_TS_2_ID = client.time_series.get_time_series(prefix=TEST_TS_2_NAME).to_json()[0]["id"] except APIError as e: log.warning("Posting test time series 2 failed with code {}".format(e.code)) TEST_TS_1_ID = client.time_series.get_time_series(prefix=TEST_TS_1_NAME).to_json()[0]["id"] TEST_TS_2_ID = client.time_series.get_time_series(prefix=TEST_TS_2_NAME).to_json()[0]["id"] yield TEST_TS_1_ID, TEST_TS_2_ID
def post_data(df): prefix = "".join( random.choice(string.ascii_uppercase + string.digits) for _ in range(5)) ts_names = { "x": "tutorial_{}_x".format(prefix), "y": "tutorial_{}_y".format(prefix) } df.rename(columns=ts_names, inplace=True) client = CogniteClient() client.time_series.post_time_series( [TimeSeries(name=name) for name in df.columns if name != "timestamp"]) client.time_series.post_time_series( [TimeSeries(name="tutorial_{}_mean_x_y".format(prefix))]) created_time_series = [] while len(created_time_series) != 3: created_time_series = client.time_series.get_time_series( prefix="tutorial_" + prefix) sleep(0.5) client.datapoints.post_datapoints_frame(df) ts_ids = {ts.name.split("_", 2)[-1]: ts.id for ts in created_time_series} return ts_ids
def post_data(df): time_series_to_post = [TimeSeries(name=name) for name in df.columns if name != "timestamp"] # Create a time series for the prediction output as well time_series_to_post.append(TimeSeries(name="{}_predicted_prod_rate".format(prefix))) client.time_series.post_time_series(time_series_to_post) created_time_series = [] while len(created_time_series) != 5: created_time_series = client.time_series.get_time_series(prefix=prefix) sleep(0.5) client.datapoints.post_datapoints_frame(df) ts_dict = {"_".join(ts.name.split("_")[1:]): ts.id for ts in created_time_series} print(ts_dict)
def new_ts_id(): name = "test_ts_{}".format(randint(1, 2 ** 53 - 1)) stable_time_series.post_time_series([TimeSeries(name)]) res = stable_time_series.get_time_series(prefix=name) while len(res) == 0: res = stable_time_series.get_time_series(prefix=name) sleep(0.5) yield res[0].id
def test_post_datapoints_frame(self): data = pd.DataFrame() data["timestamp"] = [int(1537208777557 + 1000 * i) for i in range(0, 100)] X = data["timestamp"].values.astype(float) data["X"] = X ** 2 data["Y"] = 1.0 / (1 + X) for name in data.drop(["timestamp"], axis=1).columns: ts = TimeSeries(name=name, description="To be deleted") try: client.time_series.post_time_series([ts]) except: pass res = client.datapoints.post_datapoints_frame(data) assert res is None
def update_cdp_timeseries(client, name, metadata, asset_name=None, asset_id=None): """Insert timeseries metadata into CDP.""" vargs = {"is_string": False} if asset_id: vargs["asset_id"] = asset_id if "Unit" in metadata and metadata["Unit"]: vargs["unit"] = metadata["Unit"] if "Type" in metadata: vargs["description"] = metadata["Type"] if asset_name: metadata["assetName"] = asset_name client.time_series.post_time_series( [TimeSeries(name=name, metadata=metadata, **vargs)])
def update_cdp_timeseries(client, name, metadata, asset_name=None, asset_id=None): """Insert timeseries metadata into CDP.""" vargs = {"is_string": False} if asset_id: vargs["asset_id"] = asset_id if "unit_string" in metadata and metadata["unit_string"]: vargs["unit"] = metadata["unit_string"] if "NI_CM_Reason" in metadata: vargs["description"] = metadata["NI_CM_Reason"] if asset_name: metadata["assetName"] = asset_name metadata.update( {k: str(v) for k, v in metadata.items() if isinstance(v, date)}) client.time_series.post_time_series( [TimeSeries(name=name, metadata=metadata, **vargs)])
def test_update_timeseries(self): tso = TimeSeries(TS_NAME, unit="celsius") res = timeseries.update_time_series([tso]) assert res is None
def test_post_timeseries(self): tso = TimeSeries(TS_NAME) res = timeseries.post_time_series([tso]) assert res is None
def datapoints_fixture(): tso = TimeSeries(TS_NAME) client.time_series.post_time_series([tso]) yield client.time_series.delete_time_series(TS_NAME)
def new_ts_id(): name = "test_ts_{}".format(randint(1, 2 ** 53 - 1)) stable_time_series.post_time_series([TimeSeries(name)]) yield stable_time_series.get_time_series(prefix=name).to_json()[0]["id"]