s3_create_multipart_upload
Initiate an S3-compatible multipart upload for a large object in Backblaze B2, returning an UploadId to coordinate subsequent part uploads.
Instructions
Initiate an S3-compatible multipart upload for a large object in B2 and return an UploadId. Requires the writeFiles capability. This starts an unfinished large-file upload that accrues storage for each uploaded part until you finalize with s3_complete_multipart_upload or discard it with s3_abort_multipart_upload; use s3_list_multipart_uploads to enumerate abandoned uploads, or b2_unfinished_uploads for storage-cost analysis of a selected bucket. Initiating the upload does not reserve or lock the destination key, so concurrent writes may still target it. Use s3_put_object only for tiny (≤1 MiB) inline payloads; prefer a single-object presigned PUT (s3_get_presigned_url) for most single-object transfers, including large ones; use multipart when an object is uploaded or copied as parallel parts. Flow: s3_create_multipart_upload → s3_get_presigned_upload_part_url → PUT each part directly to B2 (capture each ETag) → s3_complete_multipart_upload with those ETags. Parts are numbered 1–10000 and every part except the last must be ≥5 MiB, and no part may exceed 5 GiB.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| acl | No | Accepted as a no-op S3 compatibility hint; B2 access follows the destination bucket policy. | |
| key | Yes | The object key for the final assembled file. | |
| bucket | Yes | The destination bucket name. | |
| metadata | No | Custom metadata stored on the final object. | |
| contentType | No | MIME type recorded on the final assembled object. | |
| serverSideEncryption | No | Server-side encryption. B2 supports SSE-B2 (AES256) only — not SSE-KMS. |