我正在尝试使用一些自定义详细信息记录多阶段yaml管道的每个阶段的完成情况。 如何将自定义详细信息添加到https://dev.azure.com/ / _ settings / audit日志中。 有没有一种方法可以将该信息持久存储在sqldb或任何其他持久存储选项中。 我如何订阅这些日志事件。
答案 0 :(得分:0)
如何将自定义详细信息添加到 https://dev.azure.com//_settings/audit日志。
恐怕您无法实现。
因为details
的句子格式是由我们的后端类定义和固定的。一旦发生了相应的操作,在操作类旁边,还将调用event方法以生成日志并将其记录到审核页面中。这些都由后端完成。到目前为止,我们还没有向用户公开此操作权限。
但是基于我自己的观点,这是一个好主意,我们可以考虑扩展。因为自定义详细信息可以使details
对公司更具可读性。您可以提出自己的想法here,对其进行投票和评论。我们相应的产品小组会定期审查这些建议,并考虑根据其优先级(投票)来考虑我们的发展路线图。
我如何订阅这些日志事件。
有一件重要的事情要告诉您,audit log
仅保留90天。它会在90天后清除,包括我们的后端数据库。简而言之,如果您想要超过90天的审核日志,我们也不知道如何帮助您恢复。
因此,我建议您为Powershell
任务配置一个预定的管道。
在此powershell任务中,运行此api以获取并存储为所需的任何文件类型,例如.csv
,.json
等。
对于计划值,您可以将其设置为任意时间段。不到90天,这样就不会丢失任何审核事件日志。
是否有一种方法可以将该信息持久存储在sqldb或任何其他数据库中 持久存储选项。
如果可以使用其他数据库,则最好建议您考虑使用文档存储解决方案,例如CouchDB
,DynamoDB
或MongoDB
。
根据您的实际使用情况,可以将Command line task
与自代理结合使用,以执行相应的存储命令。
例如,我使用的是MongoDB,我可以运行以下命令来存储api之前生成的JSON文件:
C:\>mongodb\bin\mongoimport --jsonArray -d mer -c docs --file audit20191231.json