Yandex.Cloud
  • Services
  • Why Yandex.Cloud
  • Pricing
  • Documentation
  • Contact us
Get started
Yandex Object Storage
  • Getting started
  • Step-by-step instructions
    • All instructions
    • Buckets
      • Creating a bucket
      • Deleting a bucket
      • Limiting the maximum size of a bucket
      • Allowing public access to a bucket
      • Bucket encryption
      • Managing object lifecycles
      • Managing CORS configurations
      • Editing a bucket ACL
      • Logging actions with the bucket
    • Objects
      • Uploading an object
      • Getting information about an object
      • Downloading an object
      • Getting a public link to an object
      • Deleting an object
      • Deleting a partially uploaded object
      • Editing an object ACL
    • Static website hosting
      • Hosting setup
      • Support for your own domain
      • Support for multiple domain names
      • Configuring HTTPS
  • Concepts
    • Overview
    • Bucket
    • Objects
    • Bucket versioning
    • Object lifecycles
    • CORS
    • Static website hosting
    • Pre-signed URLs
    • Multipart upload
    • Access control lists (ACLs)
    • Bucket Policy
    • Upload file via HTML form
    • Storage class
    • Logging actions with a bucket
    • Backups
    • TLS protocol
    • Quotas and limits
  • Tools
    • All tools
    • Console clients
      • AWS CLI
      • S3cmd
    • File browsers
      • CyberDuck
      • WinSCP
    • SDK
      • AWS SDK for Java
      • Python SDK (boto)
    • FUSE
      • s3fs
      • goofys
  • Amazon S3-compatible HTTP API
    • How to use the API
    • Signing requests
    • API reference
      • All services and methods
      • Bucket
        • All methods
        • create
        • getBucketEncryption
        • getMeta
        • listObjects
        • listBuckets
        • deleteBucket
        • deleteBucketEncryption
        • putBucketEncryption
        • putBucketVersioning
        • getBucketVersioning
        • putBucketLogging
        • getBucketLogging
        • listObjectVersions
      • Object
        • All methods
        • upload
        • get
        • copy
        • getObjectMeta
        • delete
        • deleteMultipleObjects
        • options
      • Multipart upload
        • General multipart upload procedure
        • startUpload
        • uploadPart
        • copyPart
        • listParts
        • abortUpload
        • completeUpload
        • listUploads
      • Static Website Hosting
        • All methods
        • upload
        • get
        • delete
        • Static website response codes
      • CORS
        • All methods
        • XML structure of CORS configuration
        • upload
        • get
        • delete
      • Lifecycles
        • All methods
        • XML structure of lifecycle configuration
        • upload
        • get
        • delete
      • ACL
        • All methods
        • XML structure of ACL configuration
        • objectGetAcl
        • objectPutAcl
        • bucketGetAcl
        • bucketPutAcl
      • Bucket Policy
        • All methods
        • GetBucketPolicy
        • PutBucketPolicy
        • DeleteBucketPolicy
        • Data schema
        • Actions
        • Conditions
      • Common request headers
      • Common response headers
      • Responses
  • Access management
  • Pricing policy
    • Current pricing policy
    • Archive
      • Before January 1, 2019
      • From January 1 to March 1, 2019
  • Questions and answers
  1. Amazon S3-compatible HTTP API
  2. API reference
  3. Multipart upload
  4. startUpload

startUpload method

  • Request
    • Path parameters
    • Query parameters
    • Headers
  • Response
    • Headers
    • Response codes
    • Data schema

Returns the ID that should be used in all subsequent operations for uploading objects.

If the object is to be stored with user-defined metadata, it should be passed in this request.

Request

POST /{bucket}/{key}?uploads HTTP/1.1

Path parameters

Parameter Description
bucket Bucket name.
key Object key. The object will be saved in Object Storage with the specified name.

Query parameters

Parameter Description
uploads Flag indicating a multipart upload operation.

Headers

Use the necessary common request headers in requests.

You can also use the headers listed in the table below.

Header Description
x-amz-meta-* User-defined metadata of the object.

Object Storage treats all headers starting with x-amz-meta- as user-defined. It doesn't process these headers, but saves them in the original format.

The total size of user-defined headers must not exceed 2 KB. The size of user-defined data is determined as the length of the UTF-8 encoded string. The header names and their values are included when calculating the size.
x-amz-storage-class Object storage class.

Possible values:
- STANDARD for uploading an object to standard storage.
- COLD, STANDARD_IA, and NEARLINE for uploading an object to cold storage.

If the header is omitted, the object is saved to the storage specified in the bucket settings.

By using the headers listed below, you can set the ACL for an object to be uploaded.

Header Description
x-amz-acl Sets a predefined ACL for an object.
x-amz-grant-read Grants the access grantee object read permission.
x-amz-grant-read-acp Grants the access grantee object ACL read permission.
x-amz-grant-write-acp Grants the access grantee object ACL write permission.
x-amz-grant-full-control Grants the access grantee the following permissions: READ, WRITE, READ_ACP, and WRITE_ACP for an object.

The value for an x-amz-grant-* header is a comma-separated list of access grantees. Each access grantee is identified in a structure like <access grantee type>:<access grantee ID>. Object Storage supports the following types of access grantees:

  • id — access grantee — cloud user.
  • uri — access grantee — system group.

Example:

x-amz-grant-read: uri="http://acs.amazonaws.com/groups/s3/AuthenticatedUsers"

Response

Headers

Responses can only contain common response headers.

Response codes

For a list of possible responses, see Responses.

A successful response contains additional data in XML format with the schema described below.

Data schema

<InitiateMultipartUploadResult>
  <Bucket>bucket-name</Bucket>
  <Key>object-key</Key>
  <UploadId>upload-id</UploadId>
</InitiateMultipartUploadResult>
Tag Description
InitiateMultipartUploadResult Response root tag.

Path: /InitiateMultipartUploadResult.
Bucket Name of the bucket the object is uploaded to.

Path: /InitiateMultipartUploadResult/Bucket.
Key Key associated with the object after the upload is complete.

Path: /InitiateMultipartUploadResult/Key.
UploadId Upload ID.

All subsequent upload operations must pass this ID to Object Storage.

Path: /InitiateMultipartUploadResult/UploadId.
In this article:
  • Request
  • Path parameters
  • Query parameters
  • Headers
  • Response
  • Headers
  • Response codes
  • Data schema
Language
Careers
Privacy policy
Terms of use
© 2021 Yandex.Cloud LLC