Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
}
sbuf = table._properties.get('streamingBuffer')
if sbuf:
fields.update({
'streaming_buffer_estimated_bytes': sbuf['estimatedBytes'],
'streaming_buffer_estimated_row_count': sbuf['estimatedRows'],
'streaming_buffer_oldest_entry_time': int(sbuf['oldestEntryTime']),
})
hours_old = (time.time() - fields['modified_time'] / 1000) / (3600.0)
if stale_hours and hours_old > stale_hours:
print('ERROR: table %s is %.1f hours old. Max allowed: %s hours.' % (
table.table_id, hours_old, stale_hours))
stale = True
lines.append(influxdb.line_protocol.make_lines({
'tags': {'db': table.table_id},
'points': [{'measurement': 'bigquery', 'fields': fields}]
}))
print('Collected data:')
print(''.join(lines))
if influx_client:
influx_client.write_points(lines, time_precision='ms', protocol='line')
else:
print('Not uploading to influxdb; missing client.')
return int(stale)
:type expected_response_code: int
:param protocol: protocol of input data, either 'json' or 'line'
:type protocol: str
:returns: True, if the write operation is successful
:rtype: bool
"""
headers = self._headers
headers['Content-Type'] = 'application/octet-stream'
if params:
precision = params.get('precision')
else:
precision = None
if protocol == 'json':
data = make_lines(data, precision).encode('utf-8')
elif protocol == 'line':
if isinstance(data, str):
data = [data]
data = ('\n'.join(data) + '\n').encode('utf-8')
self.request(
url="write",
method='POST',
params=params,
data=data,
expected_response_code=expected_response_code,
headers=headers
)
return True
def send_packet(self, packet, protocol='json', time_precision=None):
"""Send an UDP packet.
:param packet: the packet to be sent
:type packet: (if protocol is 'json') dict
(if protocol is 'line') list of line protocol strings
:param protocol: protocol of input data, either 'json' or 'line'
:type protocol: str
:param time_precision: Either 's', 'm', 'ms' or 'u', defaults to None
:type time_precision: str
"""
if protocol == 'json':
data = make_lines(packet, time_precision).encode('utf-8')
elif protocol == 'line':
data = ('\n'.join(packet) + '\n').encode('utf-8')
self.udp_socket.sendto(data, (self._host, self._udp_port))