def insert_or_update_meta()

in decisionai_plugin/common/util/meta.py [0:0]


def insert_or_update_meta(config, subscription, model_id, meta):
    azure_table = get_azure_table()
    if not azure_table.exists_table(config.az_tsana_meta_table):
        azure_table.create_table_if_not_exists(config.az_tsana_meta_table)

    origin_meta = get_meta(config, subscription, model_id)
    azure_table.insert_or_replace_entity(config.az_tsana_meta_table, subscription, 
            model_id, 
            group_id=meta['groupId'],
            app_id=meta['instance']['appId'],
            app_name=meta['instance']['appName'],
            series_set=base64.b64encode(zlib.compress(json.dumps(meta['seriesSets']).encode('utf-8'))).decode("ascii"),
            inst_name=meta['instance']['instanceName'],
            inst_id=meta['instance']['instanceId'],
            para=json.dumps(meta['instance']['params']),
            state=ModelState.Pending.name,
            context='' if origin_meta is None else origin_meta['context'],
            last_error='',
            ctime=time.time() if origin_meta is None else origin_meta['ctime'],
            mtime=time.time(),
            owner=thumbprint)