簡體   English   中英

無法在Watson Assistant wrokspace上額外/列出所有事件日志

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM