@@ -63,30 +63,30 @@ client = Minio(
63
63
64
64
| Bucket operations | Object operations |
65
65
| :------------------------------------------------------------| :----------------------------------------------------------------|
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 ) |
90
90
| [ ` get_bucket_encryption ` ] ( #get_bucket_encryption ) | |
91
91
| [ ` set_bucket_encryption ` ] ( #set_bucket_encryption ) | |
92
92
| [ ` delete_object_lock_config ` ] ( #delete_object_lock_config ) | |
@@ -836,6 +836,57 @@ client.set_object_lock_config("my-bucket", config)
836
836
837
837
## 3. Object operations
838
838
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
+
839
890
<a name =" get_object " ></a >
840
891
841
892
### 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