рдСрдиреНрдЯреЛрд▓реЙрдЬреА рдмреНрд▓реЙрдХрдЪреЗрди рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ рдкрд╛рдпрдердирдордзреНрдпреЗ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╡рд░реАрд▓ рд╢реИрдХреНрд╖рдгрд┐рдХ рд▓реЗрдЦрд╛рдВрдЪреНрдпрд╛ рдорд╛рд▓рд┐рдХреЗрддреАрд▓ рд╣рд╛ рджреБрд╕рд░рд╛ рднрд╛рдЧ рдЖрд╣реЗ. рдорд╛рдЧреАрд▓ рд▓реЗрдЦрд╛рдд рдЖрдкрд▓реА рдУрд│рдЦ рдЭрд╛рд▓реА
рдЖрдЬ рдЖрдкрдг рджреБрд╕рд░реЗ рдореЙрдбреНрдпреВрд▓ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ рдпрд╛рд╡рд░ рдЪрд░реНрдЪрд╛ рдХрд░реВ. рд╕реНрдЯреЛрд░реЗрдЬ API. рд╕реНрдЯреЛрд░реЗрдЬ API рдордзреНрдпреЗ рдкрд╛рдЪ рд╕рдВрдмрдВрдзрд┐рдд API рдЖрд╣реЗрдд рдЬреЗ рдмреНрд▓реЙрдХрдЪреЗрдирд╡рд░реАрд▓ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯрдордзреНрдпреЗ рдЬреЛрдбрдгреЗ, рд╣рдЯрд╡рдгреЗ рдЖрдгрд┐ рдкрд░реНрд╕рд┐рд╕реНрдЯрдВрдЯ рд╕реНрдЯреЛрд░реЗрдЬрдордзреНрдпреЗ рдмрджрд▓ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддрд╛рдд.
рдЦрд╛рд▓реА рдпрд╛ рдкрд╛рдЪ API рдЪреЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд░реНрдгрди рдЖрд╣реЗ:
рд╣реЗ рдкрд╛рдЪ API рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рддреЗ рдЬрд╡рд│реВрди рдкрд╛рд╣реВ.
0. рдЪрд▓рд╛ рдирд╡реАрди рдХрд░рд╛рд░ рддрдпрд╛рд░ рдХрд░реВрдпрд╛
1. рд╕реНрдЯреЛрд░реЗрдЬ API рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ
GetContext рдЖрдгрд┐ GetReadOnlyContext
GetContext ╨╕ GetReadOnlyContext рд╕рдзреНрдпрд╛рдЪрд╛ рд╕реНрдорд╛рд░реНрдЯ рдХрд░рд╛рд░ рдЬреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рдЕрдВрдорд▓рд╛рдд рдЖрдгрд▓рд╛ рдЬрд╛рддреЛ рддреЛ рд╕рдВрджрд░реНрдн рдорд┐рд│рд╡рд╛. рд░рд┐рдЯрд░реНрди рд╡реНрд╣реЕрд▓реНрдпреВ рд╣реЗ рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рд╣реЕрд╢рдЪреЗ рд╡реНрдпрд╕реНрдд рдЖрд╣реЗ. рдирд╛рд╡рд╛рдкреНрд░рдорд╛рдгреЗрдЪ, GetReadOnlyContext рдХреЗрд╡рд│-рд╡рд╛рдЪрдиреАрдп рд╕рдВрджрд░реНрдн рдШреЗрддреЗ. рдЦрд╛рд▓реАрд▓ рдЙрджрд╛рд╣рд░рдгрд╛рдордзреНрдпреЗ, рдкрд░рддрд╛рд╡рд╛ рдореВрд▓реНрдп рд╣реЗ рд╡рд░рдЪреНрдпрд╛ рдЙрдЬрд╡реНрдпрд╛ рдХреЛрдкрд░реНрдпрд╛рдд рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рд╣реЕрд╢рдЪреЗ рд╡реНрдпрд╕реНрдд рдЖрд╣реЗ.
рдареЗрд╡рд╛
рдХрд╛рд░реНрдп рдареЗрд╡рд╛ рдмреНрд▓реЙрдХрдЪреЗрдирд╡рд░ рдбрд┐рдХреНрд╢рдирд░реАрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдбреЗрдЯрд╛ рд╕рд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣реЗ. рджрд╛рдЦрд╡рд┐рд▓реНрдпрд╛ рдкреНрд░рдорд╛рдгреЗ, рдареЗрд╡рд╛ рддреАрди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдШреЗрддреЗ. GetContext рд╕рдзреНрдпрд╛ рдЪрд╛рд▓реВ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯрдЪрд╛ рд╕рдВрджрд░реНрдн рдШреЗрддреЗ, рдХреА рдбреЗрдЯрд╛ рд╕реЗрд╡реНрд╣ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХреАрдЪреЗ рдореВрд▓реНрдп рдЖрд╣реЗ рдЖрдгрд┐ рдореВрд▓реНрдп рд╣реЗ рд╕реЗрд╡реНрд╣ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛рдЪреЗ рдореВрд▓реНрдп рдЖрд╣реЗ. рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛ рдХреА рдЬрд░ рдХрд┐рдЪреЗ рдореВрд▓реНрдп рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рд╕реНрдЯреЛрдЕрд░рдордзреНрдпреЗ рдЕрд╕реЗрд▓, рддрд░ рдлрдВрдХреНрд╢рди рддреНрдпрд╛рдЪреЗ рд╕рдВрдмрдВрдзрд┐рдд рдореВрд▓реНрдп рдЕрджреНрдпрддрдирд┐рдд рдХрд░реЗрд▓.
рдорд┐рд│рд╡рд╛
рдХрд╛рд░реНрдп рдорд┐рд│рд╡рд╛ рдХреА рдореВрд▓реНрдпрд╛рджреНрд╡рд╛рд░реЗ рд╡рд░реНрддрдорд╛рди рдмреНрд▓реЙрдХрдЪреЗрдирдордзреАрд▓ рдбреЗрдЯрд╛ рд╡рд╛рдЪрдгреНрдпрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣реЗ. рдЦрд╛рд▓реАрд▓ рдЙрджрд╛рд╣рд░рдгрд╛рдордзреНрдпреЗ, рддреБрдореНрд╣реА рдлрдВрдХреНрд╢рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЙрдЬрд╡реАрдХрдбреАрд▓ рдкрд░реНрдпрд╛рдп рдкреЕрдиреЗрд▓рдордзреНрдпреЗ рдХреА рдореВрд▓реНрдп рднрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рдмреНрд▓реЙрдХрдЪреЗрдирдордзреАрд▓ рдХреА рдореВрд▓реНрдпрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рд╡рд╛рдЪреВ рд╢рдХрддрд╛.
рд╣рдЯрд╡рд╛
рдХрд╛рд░реНрдп рд╣рдЯрд╡рд╛ рдХреА рдореВрд▓реНрдпрд╛рджреНрд╡рд╛рд░реЗ рдмреНрд▓реЙрдХрдЪреЗрдирдордзреАрд▓ рдбреЗрдЯрд╛ рд╣рдЯрд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣реЗ. рдЦрд╛рд▓реАрд▓ рдЙрджрд╛рд╣рд░рдгрд╛рдордзреНрдпреЗ, рддреБрдореНрд╣реА рдЙрдЬрд╡реАрдХрдбреАрд▓ рдкрд░реНрдпрд╛рдп рдкреЕрдиреЗрд▓рдордзреАрд▓ рдлрдВрдХреНрд╢рдирд╕рд╛рдареА рдХреА рдореВрд▓реНрдп рднрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рдмреНрд▓реЙрдХрдЪреЗрдирдордзреАрд▓ рдХреА рдореВрд▓реНрдпрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рд╣рдЯрд╡реВ рд╢рдХрддрд╛.
2. рд╕реНрдЯреЛрд░реЗрдЬ API рдХреЛрдб рдЙрджрд╛рд╣рд░рдг
рдЦрд╛рд▓реАрд▓ рдХреЛрдб рдкрд╛рдЪ API рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рдЪреЗ рддрдкрд╢реАрд▓рд╡рд╛рд░ рдЙрджрд╛рд╣рд░рдг рджреЗрддреЛ: GetContext, Get, Put, Delete рдЖрдгрд┐ GetReadOnlyContext. рдордзреНрдпреЗ API рдбреЗрдЯрд╛ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реВ рд╢рдХрддрд╛
from ontology.interop.System.Storage import GetContext, Get, Put, Delete, GetReadOnlyContext
from ontology.interop.System.Runtime import Notify
def Main(operation,args):
if operation == 'get_sc':
return get_sc()
if operation == 'get_read_only_sc':
return get_read_only_sc()
if operation == 'get_data':
key=args[0]
return get_data(key)
if operation == 'save_data':
key=args[0]
value=args[1]
return save_data(key, value)
if operation == 'delete_data':
key=args[0]
return delete_data(key)
return False
def get_sc():
return GetContext()
def get_read_only_sc():
return GetReadOnlyContext()
def get_data(key):
sc=GetContext()
data=Get(sc,key)
return data
def save_data(key, value):
sc=GetContext()
Put(sc,key,value)
def delete_data(key):
sc=GetContext()
Delete(sc,key)
рдирдВрддрд░рдЪрд╛ рд╢рдмреНрдж
рдмреНрд▓реЙрдХрдЪреЗрди рд╕реНрдЯреЛрд░реЗрдЬ рд╣рд╛ рд╕рдВрдкреВрд░реНрдг рдмреНрд▓реЙрдХрдЪреЗрди рд╕рд┐рд╕реНрдЯрдордЪрд╛ рдЧрд╛рднрд╛ рдЖрд╣реЗ. рдСрдиреНрдЯреЛрд▓реЙрдЬреА рд╕реНрдЯреЛрд░реЗрдЬ API рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕реЛрдкреЗ рдЖрдгрд┐ рд╡рд┐рдХрд╕рдХ-рдЕрдиреБрдХреВрд▓ рдЖрд╣реЗ.
рджреБрд╕рд░реАрдХрдбреЗ, рд╕реНрдЯреЛрд░реЗрдЬ рд╣реЗ рд╣реЕрдХрд░ рд╣рд▓реНрд▓реНрдпрд╛рдВрдЪреЗ рдХреЗрдВрджреНрд░рдмрд┐рдВрджреВ рдЖрд╣реЗ, рдЬрд╕реЗ рдХреА рдЖрдореНрд╣реА рдорд╛рдЧреАрд▓ рд▓реЗрдЦрд╛рдВрдкреИрдХреА рдПрдХрд╛ рд▓реЗрдЦрд╛рдд рдЙрд▓реНрд▓реЗрдЦ рдХреЗрд▓реЗрд▓рд╛ рд╕реБрд░рдХреНрд╖рд╛ рдзреЛрдХреНрдпрд╛рдд-
рдкреБрдвреАрд▓ рд▓реЗрдЦрд╛рдд рдЖрдкрдг рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ рдпрд╛рдмрджреНрджрд▓ рдЪрд░реНрдЪрд╛ рдХрд░реВ рд░рдирдЯрд╛рдЗрдо API.
рд▓реЗрдЦрд╛рдЪрд╛ рдЕрдиреБрд╡рд╛рдж рд╣реЕрд╢рд░реЗрдЯ рдЖрдгрд┐ рд╢реЗрдЕрд░реНрд╕рдЪреНрдпрд╛ рд╕рдВрдкрд╛рджрдХрд╛рдВрдиреА рд╡рд┐рд╢реЗрд╖рддрдГ рдСрдиреНрдЯреЛрд▓реЙрдЬреА рд░рд╢рд┐рдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЖрд╣реЗ.
рд░рдбрдгреЗ
рддреБрдореНрд╣реА рдбреЗрд╡реНрд╣рд▓рдкрд░ рдЖрд╣рд╛рдд рдХрд╛? рдпреЗрдереЗ рдЖрдордЪреНрдпрд╛ рдЯреЗрдХ рд╕рдореБрджрд╛рдпрд╛рдд рд╕рд╛рдореАрд▓ рд╡реНрд╣рд╛
Ontology
рд╕реНрддреНрд░реЛрдд: www.habr.com