如何在bash脚本中从远程redis-server上的telnet命令中提取输出.
我会做:
telnet remote-redis-ip 6379
LRANGE mylist 0 -1
Run Code Online (Sandbox Code Playgroud)
并将结果保存在变量中.如何在bash脚本下实现此目标?
谢谢,
我正在尝试将具有特定时区(欧洲/巴黎)的时间戳转换为 UTC 中的日期时间格式。在我的笔记本电脑上,它适用于下面的解决方案,但是当我在远程服务器(爱尔兰的 AWS-Lambda 函数)中执行我的代码时,我有 1 小时的班次,因为服务器的本地时区与我的不同。我怎样才能有一个可以在我的笔记本电脑上同时在远程服务器上工作的代码(动态处理本地时区)?
import pytz
import datetime
def convert_timestamp_in_datetime_utc(timestamp_received):
utc = pytz.timezone('UTC')
now_in_utc = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(pytz.UTC)
fr = pytz.timezone('Europe/Paris')
new_date = datetime.datetime.fromtimestamp(timestamp_received)
return fr.localize(new_date, is_dst=None).astimezone(pytz.UTC)
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在尝试使用 Python 中的 sockjs 从网站上抓取 websocket 数据(帧),但我真的不知道该怎么做。
网址:ws://example.io/sockjs/wkzeza/websocket
在 Web 调试器中,我可以看到此响应标头:
Date: Sun, 27 Aug 2017 09:42:15 GMT
Connection: upgrade
Set-Cookie: oWG+Kel2MBo0v9FQK81NvuvBZcUwChaMvG2bsv1Ofs9Q8hHN+PlTn6PolO/8MgFXh2ygqC7A8WsJ7cgZwvpwvsbSp0VCpRHqmYMhGGxr; Expires=Sun, 03 Sep 2017 09:42:15 GMT; Path=/
Upgrade: websocket
Sec-WebSocket-Accept: HA0gkvrFCF7qjVYIDvSBa5sJKkg=
Sec-WebSocket-Extensions: permessage-deflate
Server: nginx
CF-RAY: 394e146d34a12f65-MAD
Run Code Online (Sandbox Code Playgroud)
通常只有响应头我可以从帧中检索数据,对吗?
我试过这段代码,但我可以阅读内容:
from websocket import create_connection
import json
headers = json.dumps({'Date': 'Sun, 27 Aug 2017 09:42:15 GMT',
'Connection': 'upgrade',
'Set-Cookie': 'oWG+Kel2MBo0v9FQK81NvuvBZcUwChaMvG2bsv1Ofs9Q8hHN+PlTn6PolO/8MgFXh2ygqC7A8WsJ7cgZwvpwvsbSp0VCpRHqmYMhGGxr; Expires=Sun, 03 Sep 2017 09:42:15 GMT; Path=/',
'Upgrade': 'websocket',
'Sec-WebSocket-Accept': 'HA0gkvrFCF7qjVYIDvSBa5sJKkg=',
'Sec-WebSocket-Extensions': 'permessage-deflate',
'Server': 'nginx',
'CF-RAY': '394e146d34a12f65-MAD'})
ws = create_connection('ws://example.io/sockjs/wkzeza/websocket', …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用boto的自动缩放模块.我到达创建一个API连接并获取默认区域(us-east-1)中的所有组.
conn = AutoScaleConnection(ACCESS_KEY,SECRET_KEY)
print conn.get_all_groups()
Run Code Online (Sandbox Code Playgroud)
现在我需要在eu-west-1区域创建一个连接,但我总是出错.
conn = AutoScaleConnection(ACCESS_KEY,SECRET_KEY)
autoscale = boto.ec2.autoscale.connect_to_region('eu-west-1')
Run Code Online (Sandbox Code Playgroud)
错误:
boto.exception.NoAuthHandlerFound:没有处理程序准备好进行身份验证.检查了1名处理程序.['HmacAuthV4Handler']检查您的凭据
如果我尝试:
autoscale = boto.ec2.autoscale.connect_to_region('eu-west-1',ACCESS_KEY,SECRET_KEY)
Run Code Online (Sandbox Code Playgroud)
错误:
TypeError:connect_to_region()只取1个参数(给定3个)
我有一个python程序,正在启动随机数的异步协程。在这段时间内,我的程序可以启动新程序,其中一些程序可以在终止工作后退出。
我想知道是否有可能每分钟报告一次活性协程的数量吗?
谢谢
我有一个由DynamoDB流触发的Lambda函数。我的问题是收到的事件的奇怪格式(每个键/值的类型)。
确实存在一种解决方法,可以将本机文档转换为本地python格式(无任何类型)。我正在寻找一种动态解决方案,因为将来我想将此lambda与其他DynamoDB表流(具有不同的格式(多个dict /列表级别))一起使用
例:
{
"Records": [
{
"eventID": "1",
"eventVersion": "1.0",
"dynamodb": {
"Keys": {
"Id": {
"N": "101"
}
},
"NewImage": {
"Message": {
"S": "New item!"
},
"Id": {
"N": "101"
}
},
"StreamViewType": "NEW_AND_OLD_IMAGES",
"SequenceNumber": "111",
"SizeBytes": 26
},
"awsRegion": "us-west-2",
"eventName": "INSERT",
"eventSourceARN": "arn:aws:dynamodb:us-west-2:account-id:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899",
"eventSource": "aws:dynamodb"
},
{
"eventID": "2",
"eventVersion": "1.0",
"dynamodb": {
"OldImage": {
"Message": {
"S": "New item!"
},
"Id": {
"N": "101"
}
},
"SequenceNumber": "222",
"Keys": {
"Id": {
"N": …Run Code Online (Sandbox Code Playgroud) python ×4
autoscaling ×1
bash ×1
boto ×1
datetime ×1
monitoring ×1
pytz ×1
redis ×1
telnet ×1
web-scraping ×1
websocket ×1