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來創建對象元數據的索引,當對象上傳時捕獲的...) –