0
似乎有一种方法可以通过将元数据与“expdays”键附加到PutObjectInput来设置上载过期日,但似乎没有任何方法可以获取此元数据从一个象“ListObjects”调用中的对象。 ListObjectOutput返回“Contents”,它是s3.Objects列表,但该对象没有元数据字段,我也没有看到任何其他方式获取它。在golang中获取s3对象过期
似乎有一种方法可以通过将元数据与“expdays”键附加到PutObjectInput来设置上载过期日,但似乎没有任何方法可以获取此元数据从一个象“ListObjects”调用中的对象。 ListObjectOutput返回“Contents”,它是s3.Objects列表,但该对象没有元数据字段,我也没有看到任何其他方式获取它。在golang中获取s3对象过期
ListObjects
调用返回[]Object
作为结果中的实际对象列表,并且Object
不包括过期。但是,GetObject
返回GetObjectOutput
其确实有一个Expiration
字段。因此,您可以迭代返回的Object
s并获得每个的到期日期,但如果其中有很多日期可能很耗时。
这是一团糟...... – MichaelB
您必须[使用AWS SDK for Go团队](https://github.com/aws/aws-sdk-go/issues)。 – Adrian
没有理由将其与SDK团队合作。 ListObjects的底层S3 API不返回用户元数据或标签。获取此*需要为每个对象提供单独的“HEAD”请求。 (...这就是为什么我使用S3事件通知,Lambda和RDS/MariaDB来创建对象元数据的索引,当对象上传时捕获的...) –