例如,为了遵守内部软件策略强加的某些要求,我需要记录在前端(UI)上执行的操作的 user_name 或 user_id
@catch_mlflow_exception
@_disable_if_artifacts_only
def _delete_experiment():
request_message = _get_request_message(
DeleteExperiment(), schema={"experiment_id": [_assert_required, _assert_string]}
)
experiment_id=request_message.experiment_id
experiment_name=request_message.experiment_name
# print(experiment_id)
# Log the experiment_id and username
logging.info(f"Deleting experiment with ID: {experiment_id} by user: {user_id}")
_get_tracking_store().delete_experiment(request_message.experiment_id)
response_message = DeleteExperiment.Response()
response = Response(mimetype="application/json")
response.set_data(message_to_json(response_message))
return response
如何获取user_id?
希望这可以帮助别人
def _delete_experiment():
request_message = _get_request_message(
DeleteExperiment(), schema={"experiment_id": [_assert_required, _assert_string]}
)
experiment_id=request_message.experiment_id
# Extract username from the session
username = session.get('username')
if not username:
raise ValueError("Missing user_id in session")
# Fetch the experiment name from the tracking store
experiment = _get_tracking_store().get_experiment(request_message.experiment_id)
if not experiment:
raise ValueError(f"Experiment with ID {experiment_id} not found")
experiment_name = experiment.name
# Log the experiment_id and username
_logger.info(f"Deleting experiment '{experiment_name}' with ID: {experiment_id} by user: {username}")
_get_tracking_store().delete_experiment(request_message.experiment_id)
response_message = DeleteExperiment.Response()
response = Response(mimetype="application/json")
response.set_data(message_to_json(response_message))
return response