def get_data_archive_servers(self):
# type: () -> osisoftpy.structures.TypedList[DataArchive]
"""
:return:
"""
log.debug('Retrieving all PI Data Archive servers from %s', self.url)
r = self.session.get(self.url + '/dataservers')
if r.status_code == requests.codes.ok:
data = r.json()
if len(data['Items']) > 0:
log.debug('HTTP %s - Instantiating OSIsoftPy.DataArchives()',
r.status_code)
factory = Factory(DataArchive)
servers = TypedList(validtypes=DataArchive)
log.debug('Staging %s PI server(s) for instantiation...',
get_count(data['Items']))
for i in data['Items']:
try:
log.debug('Instantiating "%s" as '
'OSIsoftPy.DataArchive...', i['Name'])
server = factory.create(name=i['Name'],
serverversion=i[
'ServerVersion'],
webid=i['WebId'],
isconnected=i['IsConnected'],
id=i['Id'])
servers.append(server)
except OSIsoftPyException as e:
log.error('Unable to retrieve server info for '
'"%s"', i['Name'], exc_info=True)
log.debug('PI Data Archive server retrieval success! %s PI '
'server(s) were '
'found and instantiated.', get_count(servers))
return servers
r.raise_for_status()
评论列表
文章目录