请帮助我尝试致电Watson Assistant端点 https://gateway.watsonplatform.net/assistant/api/v1/workspaces/myworkspace/logs?version=2018-09-20获取所有事件列表
并使用此参数按日期范围过滤
var param =
{ workspace_id: '{myworkspace}',
page_limit: 100000,
filter: 'response_timestamp%3C2018-17-12,response_timestamp%3E2019-01-01'}
显然我在下面收到了空的答复。
{
"logs": [],
"pagination": {}
}
答案 0 :(得分:1)
要检查的事物。
1。您有2018-17-12
,它是一个公制日期。这表示为“ 2018年17月12日”。
2。假设日期应该是一个有效的日期,您的搜索将显示“ 2018年12月17日之前和2019年1月1日之后的文档”。不会返回任何文件。
3。仅当您通过API调用message()方法时才生成日志。因此,请检查工具中的日志记录页面,以查看是否还有日志。
4。如果您有精简版帐户,则日志仅存储7天,然后删除。要保留更长的日志,您需要升级到标准帐户。
尽管与您的问题没有直接关系,但是请注意page_limit
具有硬编码上限(IIRC 200-300?)。因此,您可能要索取100,000条记录,但不会给您。
这是示例Python代码(不受支持),它正在使用分页读取日志:
from watson_developer_cloud import AssistantV1
username = '...'
password = '...'
workspace_id = '....'
url = '...'
version = '2018-09-20'
c = AssistantV1(url=url, version=version, username=username, password=password)
totalpages = 999
pagelimit = 200
logs = []
page_count = 1
cursor = None
count = 0
x = { 'pagination': 'DUMMY' }
while x['pagination']:
if page_count > totalpages:
break
print('Reading page {}. '.format(page_count), end='')
x = c.list_logs(workspace_id=workspace_id,cursor=cursor,page_limit=pagelimit)
if x is None: break
print('Status: {}'.format(x.get_status_code()))
x = x.get_result()
logs.append(x['logs'])
count = count + len(x['logs'])
page_count = page_count + 1
if 'pagination' in x and 'next_url' in x['pagination']:
p = x['pagination']['next_url']
u = urlparse(p)
query = parse_qs(u.query)
cursor = query['cursor'][0]
您的logs
对象应包含日志。
答案 1 :(得分:0)
我认为限制为500,然后我们返回一个分页URL,以便您可以获取下一个500。我不认为这是问题所在,但是一旦您开始获取日志,就很好了