[英]unable to extra/list all event log on watson assistant wrokspace
請幫助我試圖致電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": {}
}
幾件事要檢查。
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
對象應包含日志。
我相信限制是500,然后我們返回一個分頁URL,以便您可以獲取下一個500。我不認為這是問題,但是一旦您開始獲取日志,就很容易知道
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.