在SpringBoot中使用Micrometer时,如何将traceId和spainId传播到上传到AWS S3的文件上?

问题描述 投票:0回答:1

是否可以将跟踪信息传播到上传到 AWS S3 或 SFTP 的文件?

这样,如果有人从目录进行轮询,我希望他能够继续使用该文件在元数据中的相同traceId,以便动态地关联日志,以便可以在 Kibana 中关联日志。我想完全跟踪使用 AWS S3 和自定义轮询策略作为通信解决方案的微服务之间的整个流程。

AWS S3 文档中指出,您可以使用前缀

x-amz-meta-
添加自定义元数据信息,但我不确定轮询是否应该收集该跟踪并将其强制到 Tracer bean,从而覆盖默认的 bean。

此外,对于写入,我们使用 AWS S3,但对于读取,我们使用普通 SFTP,所以我不知道 SFTP 轮询器在读取时是否会尊重存储在 S3 中的那些元数据值。也许我需要手动集成它?

提前致谢。

amazon-web-services spring-boot amazon-s3 sftp micrometer
1个回答
0
投票

是的,AWS S3 允许您使用前缀 x-amz-meta- 将自定义元数据添加到文件中。此元数据非常适合存储跟踪信息(例如traceId)。例如:

aws s3 cp your-file.txt s3://your-bucket/your-file.txt \
    --metadata x-amz-meta-traceid=your-trace-id

但是,当通过 SFTP 轮询文件时,不会自动保留此元数据。 SFTP 仅公开文件内容、大小、权限等,而不公开自定义 S3 元数据。这就是为什么您在使用 SFTP 时需要手动集成来传播跟踪信息。

© www.soinside.com 2019 - 2024. All rights reserved.