2 回答

TA貢獻1805條經驗 獲得超9個贊
在文檔中找到正確的部分后,事情變得非常簡單:
def main(mytimer: func.TimerRequest, context: func.Context) -> None:
? ? try:?
? ? ? ? invocation_id = context.invocation_id
? ? ? ? # Function continues here.?
? ? except Exception as e:
? ? ? ? logging.error("Main program failed with error: " + str(e))
請注意,此解決方案僅在func.Context分配給時才有效context。使用任何其他名稱都會context給我帶來錯誤 -.-

TA貢獻1824條經驗 獲得超6個贊
剛剛在此處添加了操作 ID,根據文檔,Traceparent 的第二部分是 Trace_id,它將成為日志控制臺中的操作 ID。
def main(mytimer: func.TimerRequest, context: func.Context) -> None:
? ? try:?
? ? ? ? invocation_id = context.invocation_id
? ? ? ? traceparent = context.trace_context.Traceparent
? ? ? ? try:
? ? ? ? ? ? operation_id = f"{traceparent}".split('-')[1]
? ? ? ? except IndexError as i_err:
? ? ? ? ? ? # as a backup option?
? ? ? ? ? ? logging.exception(i_err)
? ? ? ? ? ? operation_id = 'default_id'
? ? ? ? except Exception as final_err:
? ? ? ? ? ?logging.exception(final_err)
? ? ? ? ? ?# Function continues here.?
? ? except Exception as e:
? ? ? ? logging.error("Main program failed with error: " + str(e))
添加回答
舉報