簡體   English   中英

boto3 如何從 sagemaker 轉換作業中獲取日志流?

[英]boto3 how to get the logstream form a sagemaker transform job?

我能夠使用 boto3 完成這項工作,但它失敗了

import boto3
session = boto3.session.Session()


client = session.client('sagemaker')
descibe = client.describe_transform_job(TransformJobName="my_transform_job_name")

在用戶界面中,我可以看到 go 到日志的按鈕,如果對組名和日志流進行硬編碼,我可以使用 boto3 來檢索日志。

但是我怎樣才能從批量轉換作業中獲取日志 stream? 不應該是“.describe_transform_job”中帶有日志流或類似內容的字段嗎?

sagemaker 沒有提供直接的方法來做到這一點,這樣做的方法是也使用日志客戶端。

  1. 獲取與您的 batchtransform_job 對應的日志流

    client_logs = boto3.client('logs') log_groups = client_logs.describe_log_streams(logGroupName="the_log_group_name", logStreamNamePrefix=transform_job_name) log_streams_names= [] for i in log_groups["logStreams"]: log_streams_names.append(i["logStreamName"])

這將給出一個“project_name/virtualMachine_id”列表,這是您的代碼運行的機器,具體取決於您設置的實例數量。

  1. 在您可以為每個 log_streams 運行之后

     for i_stream_name in log_streams_names: client_logs.get_log_events("the_stream_log_name", "the_log_group_name")

現在您可以循環並打印日志 stream 事件的行 =)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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