SoftLayer Go API按日期过滤近期事件的技术咨询
解决SoftLayer API按日期过滤近期事件的问题
看起来你遇到的问题大概率出在日期格式兼容性以及SoftLayer API对过滤器的解析逻辑上,我来给你梳理几个关键的调整方向:
- 修正日期格式:SoftLayer API的日期过滤器通常更适配
yyyy-MM-dd HH:mm:ss或者ISO 8601标准格式,你当前使用的01/02/2006是MM/DD/YYYY带斜杠的格式,调试里出现的2018/04/0...就是格式转换后的结果,API可能无法正确解析这种格式。你可以把格式字符串改成2006-01-02 15:04:05,修改后的代码如下:
f := filter.Path("modifyDate").DateAfter(time.Now().Add(-48 * time.Hour).Format("2006-01-02 15:04:05")).Build()
- 尝试ISO 8601标准格式:如果上述调整还是不生效,你可以试试直接使用RFC3339格式(ISO 8601的一种实现),代码示例:
f := filter.Path("modifyDate").DateAfter(time.Now().Add(-48 * time.Hour).Format(time.RFC3339)).Build()
- 确认字段名准确性:另外要核对
modifyDate是不是SoftLayer RecentEvent对象的正确字段名,部分场景下字段名可能采用下划线命名(比如modify_date),建议你对照SoftLayer的官方API文档确认字段的准确名称。
要是调整后依然无法正常过滤,建议把调试时生成的完整过滤器内容贴出来,这样能更精准地排查问题。
内容的提问来源于stack exchange,提问作者Al S-M
相关产品推荐
相关产品推荐

