![](/img/trans.png)
[英]How to filter s3 new object created events by file name using python/Boto3?
[英]Test if an S3 object was created or updated when using boto3
使用boto3
時是否可以確定是否創建或更新了 S3 對象?
當使用boto3.client('s3').put_object()
創建或更新 S3 對象時,底層的 PutObject API 操作不會區分創建和更新對象,因此ResponseMetadata.HTTPStatusCode
始終為 200。
boto3.client('s3')
沒有post_object()
方法, boto3.resource( boto3.resource('s3').object()
也沒有post
方法。 事實上,無論如何似乎都沒有PostObject
API 操作。
import boto3
import base
import base64
client = boto3.client('s3')
body = 'Hello World!'
response = client.put_object(
Bucket='my-bucket',
Key='my-key.json',
Body=body.encode('utf-8'))
print('S3 object successfully created. Or was it updated????')
沒有“更新”對象這樣的事情。 在 S3 中,您總是完全替換它們,這意味着您必須上傳整個“更新”對象。
但是,如果您的存儲桶是版本化的,您始終可以自己跟蹤對象的“更新”狀態,方法是檢查它們的Date
元數據屬性。
還有Last-Modified屬性,您可以檢查並與Date
屬性進行比較以檢查它們是否不同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.