@@ -63,30 +63,30 @@ client = Minio(
6363
6464| Bucket operations | Object operations |
6565| :------------------------------------------------------------| :----------------------------------------------------------------|
66- | [ ` make_bucket ` ] ( #make_bucket ) | [ ` get_object ` ] ( #get_object ) |
67- | [ ` list_buckets ` ] ( #list_buckets ) | [ ` put_object ` ] ( #put_object ) |
68- | [ ` bucket_exists ` ] ( #bucket_exists ) | [ ` copy_object ` ] ( #copy_object ) |
69- | [ ` remove_bucket ` ] ( #remove_bucket ) | [ ` compose_object ` ] ( #compose_object ) |
70- | [ ` list_objects ` ] ( #list_objects ) | [ ` stat_object ` ] ( #stat_object ) |
71- | [ ` get_bucket_versioning ` ] ( #get_bucket_versioning ) | [ ` remove_object ` ] ( #remove_object ) |
72- | [ ` set_bucket_versioning ` ] ( #set_bucket_versioning ) | [ ` remove_objects ` ] ( #remove_objects ) |
73- | [ ` delete_bucket_replication ` ] ( #delete_bucket_replication ) | [ ` fput_object ` ] ( #fput_object ) |
74- | [ ` get_bucket_replication ` ] ( #get_bucket_replication ) | [ ` fget_object ` ] ( #fget_object ) |
75- | [ ` set_bucket_replication ` ] ( #set_bucket_replication ) | [ ` select_object_content ` ] ( #select_object_content ) |
76- | [ ` delete_bucket_lifecycle ` ] ( #delete_bucket_lifecycle ) | [ ` delete_object_tags ` ] ( #delete_object_tags ) |
77- | [ ` get_bucket_lifecycle ` ] ( #get_bucket_lifecycle ) | [ ` get_object_tags ` ] ( #get_object_tags ) |
78- | [ ` set_bucket_lifecycle ` ] ( #set_bucket_lifecycle ) | [ ` set_object_tags ` ] ( #set_object_tags ) |
79- | [ ` delete_bucket_tags ` ] ( #delete_bucket_tags ) | [ ` enable_object_legal_hold ` ] ( #enable_object_legal_hold ) |
80- | [ ` get_bucket_tags ` ] ( #get_bucket_tags ) | [ ` disable_object_legal_hold ` ] ( #disable_object_legal_hold ) |
81- | [ ` set_bucket_tags ` ] ( #set_bucket_tags ) | [ ` is_object_legal_hold_enabled ` ] ( #is_object_legal_hold_enabled ) |
82- | [ ` delete_bucket_policy ` ] ( #delete_bucket_policy ) | [ ` get_object_retention ` ] ( #get_object_retention ) |
83- | [ ` get_bucket_policy ` ] ( #get_bucket_policy ) | [ ` set_object_retention ` ] ( #set_object_retention ) |
84- | [ ` set_bucket_policy ` ] ( #set_bucket_policy ) | [ ` presigned_get_object ` ] ( #presigned_get_object ) |
85- | [ ` delete_bucket_notification ` ] ( #delete_bucket_notification ) | [ ` presigned_put_object ` ] ( #presigned_put_object ) |
86- | [ ` get_bucket_notification ` ] ( #get_bucket_notification ) | [ ` presigned_post_policy ` ] ( #presigned_post_policy ) |
87- | [ ` set_bucket_notification ` ] ( #set_bucket_notification ) | [ ` get_presigned_url ` ] ( #get_presigned_url ) |
88- | [ ` listen_bucket_notification ` ] ( #listen_bucket_notification ) | [ ` upload_snowball_objects ` ] ( #upload_snowball_objects ) |
89- | [ ` delete_bucket_encryption ` ] ( #delete_bucket_encryption ) | |
66+ | [ ` make_bucket ` ] ( #make_bucket ) | [ ` append_object ` ] ( #append_object ) |
67+ | [ ` list_buckets ` ] ( #list_buckets ) | [ ` get_object ` ] ( #get_object ) |
68+ | [ ` bucket_exists ` ] ( #bucket_exists ) | [ ` put_object ` ] ( #put_object ) |
69+ | [ ` remove_bucket ` ] ( #remove_bucket ) | [ ` copy_object ` ] ( #copy_object ) |
70+ | [ ` list_objects ` ] ( #list_objects ) | [ ` compose_object ` ] ( #compose_object ) |
71+ | [ ` get_bucket_versioning ` ] ( #get_bucket_versioning ) | [ ` stat_object ` ] ( #stat_object ) |
72+ | [ ` set_bucket_versioning ` ] ( #set_bucket_versioning ) | [ ` remove_object ` ] ( #remove_object ) |
73+ | [ ` delete_bucket_replication ` ] ( #delete_bucket_replication ) | [ ` remove_objects ` ] ( #remove_objects ) |
74+ | [ ` get_bucket_replication ` ] ( #get_bucket_replication ) | [ ` fput_object ` ] ( #fput_object ) |
75+ | [ ` set_bucket_replication ` ] ( #set_bucket_replication ) | [ ` fget_object ` ] ( #fget_object ) |
76+ | [ ` delete_bucket_lifecycle ` ] ( #delete_bucket_lifecycle ) | [ ` select_object_content ` ] ( #select_object_content ) |
77+ | [ ` get_bucket_lifecycle ` ] ( #get_bucket_lifecycle ) | [ ` delete_object_tags ` ] ( #delete_object_tags ) |
78+ | [ ` set_bucket_lifecycle ` ] ( #set_bucket_lifecycle ) | [ ` get_object_tags ` ] ( #get_object_tags ) |
79+ | [ ` delete_bucket_tags ` ] ( #delete_bucket_tags ) | [ ` set_object_tags ` ] ( #set_object_tags ) |
80+ | [ ` get_bucket_tags ` ] ( #get_bucket_tags ) | [ ` enable_object_legal_hold ` ] ( #enable_object_legal_hold ) |
81+ | [ ` set_bucket_tags ` ] ( #set_bucket_tags ) | [ ` disable_object_legal_hold ` ] ( #disable_object_legal_hold ) |
82+ | [ ` delete_bucket_policy ` ] ( #delete_bucket_policy ) | [ ` is_object_legal_hold_enabled ` ] ( #is_object_legal_hold_enabled ) |
83+ | [ ` get_bucket_policy ` ] ( #get_bucket_policy ) | [ ` get_object_retention ` ] ( #get_object_retention ) |
84+ | [ ` set_bucket_policy ` ] ( #set_bucket_policy ) | [ ` set_object_retention ` ] ( #set_object_retention ) |
85+ | [ ` delete_bucket_notification ` ] ( #delete_bucket_notification ) | [ ` presigned_get_object ` ] ( #presigned_get_object ) |
86+ | [ ` get_bucket_notification ` ] ( #get_bucket_notification ) | [ ` presigned_put_object ` ] ( #presigned_put_object ) |
87+ | [ ` set_bucket_notification ` ] ( #set_bucket_notification ) | [ ` presigned_post_policy ` ] ( #presigned_post_policy ) |
88+ | [ ` listen_bucket_notification ` ] ( #listen_bucket_notification ) | [ ` get_presigned_url ` ] ( #get_presigned_url ) |
89+ | [ ` delete_bucket_encryption ` ] ( #delete_bucket_encryption ) | [ ` upload_snowball_objects ` ] ( #upload_snowball_objects ) |
9090| [ ` get_bucket_encryption ` ] ( #get_bucket_encryption ) | |
9191| [ ` set_bucket_encryption ` ] ( #set_bucket_encryption ) | |
9292| [ ` delete_object_lock_config ` ] ( #delete_object_lock_config ) | |
@@ -836,6 +836,57 @@ client.set_object_lock_config("my-bucket", config)
836836
837837## 3. Object operations
838838
839+ <a name =" append_object " ></a >
840+
841+ ### append_object(bucket_name, object_name, data, length, content_type="application/octet-stream", metadata=None, sse=None, progress=None, part_size=0, num_parallel_uploads=3, tags=None, retention=None, legal_hold=False)
842+
843+ Appends from a stream to existing object in a bucket.
844+
845+ __ Parameters__
846+
847+ | Param | Type | Description |
848+ | :----------------| :------------| :---------------------------------------------------------|
849+ | ` bucket_name ` | _ str_ | Name of the bucket. |
850+ | ` object_name ` | _ str_ | Object name in the bucket. |
851+ | ` data ` | _ object_ | An object having callable read() returning bytes object. |
852+ | ` length ` | _ int_ | Data size; -1 for unknown size and set valid part_size. |
853+ | ` part_size ` | _ int_ | Chunk size. |
854+ | ` progress ` | _ threading_ | A progress object. |
855+ | ` extra_headers ` | _ dict_ | Extra headers. |
856+
857+ __ Return Value__
858+
859+ | Return |
860+ | :----------------------------|
861+ | _ ObjectWriteResult_ object. |
862+
863+ __ Example__
864+ ``` py
865+ # Append data.
866+ result = client.append_object(
867+ " my-bucket" , " my-object" , io.BytesIO(b " world" ), 5 ,
868+ )
869+ print (f " appended { result.object_name} object; etag: { result.etag} " )
870+
871+ # Append data in chunks.
872+ data = urlopen(
873+ " https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.13.12.tar.xz" ,
874+ )
875+ result = client.append_object(
876+ " my-bucket" , " my-object" , data, 148611164 , 5 * 1024 * 1024 ,
877+ )
878+ print (f " appended { result.object_name} object; etag: { result.etag} " )
879+
880+ # Append unknown sized data.
881+ data = urlopen(
882+ " https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.14.3.tar.xz" ,
883+ )
884+ result = client.append_object(
885+ " my-bucket" , " my-object" , data, 149426584 , 5 * 1024 * 1024 ,
886+ )
887+ print (f " appended { result.object_name} object; etag: { result.etag} " )
888+ ```
889+
839890<a name =" get_object " ></a >
840891
841892### get_object(bucket_name, object_name, offset=0, length=0, request_headers=None, ssec=None, version_id=None, extra_query_params=None)
0 commit comments