Skip to main content Link Search Menu Expand Document (external link)

MultipartUpload overview

Added in v0.1.0


Table of contents


execution

uploadObject

Upload an object to S3 using multipart upload.

Signature

export declare const uploadObject: <E>(
  args: UploadObjectCommandInput<E>,
  options?: UploadObjectOptions
) => Effect.Effect<CompleteMultipartUploadCommandOutput, any, MultipartUpload>

Added in v0.1.0

layers

baseLayer

Signature

export declare const baseLayer: (evaluate: (defaultConfig: S3ClientConfig) => S3Client) => Layer.Layer<MultipartUpload>

Added in v0.1.0

defaultLayer

Signature

export declare const defaultLayer: Layer.Layer<MultipartUpload, never, never>

Added in v0.1.0

layer

Signature

export declare const layer: (config: S3Service.Config) => Layer.Layer<MultipartUpload>

Added in v0.1.0

layerWithoutS3Service

Signature

export declare const layerWithoutS3Service: Layer.Layer<MultipartUpload, never, S3Service>

Added in v0.1.0

model

MultipartUpload (interface)

Signature

export interface MultipartUpload {
  /**
   * Upload an object to S3 using multipart upload.
   */
  readonly uploadObject: <E>(
    args: UploadObjectCommandInput<E>,
    options?: UploadObjectOptions
  ) => Effect.Effect<
    CompleteMultipartUploadCommandOutput,
    internal.S3ServiceErrors | PlatformError.BadArgument | Cause.NoSuchElementException
  >
}

Added in v0.1.0

models

UploadObjectCommandInput (interface)

Signature

export interface UploadObjectCommandInput<E = never> extends Omit<PutObjectCommandInput, "Body"> {
  Body: PutObjectCommandInput["Body"] | Stream.Stream<Uint8Array, E>
}

Added in v0.1.0

UploadObjectOptions (interface)

Signature

export interface UploadObjectOptions {
  /**
   * The size of the concurrent queue manager to upload parts in parallel. Set to 1 for synchronous uploading of parts. Note that the uploader will buffer at most queueSize * partSize bytes into memory at any given time.
   * default: 4
   */
  readonly queueSize?: number

  /**
   * Default: 5 mb
   * The size in bytes for each individual part to be uploaded. Adjust the part size to ensure the number of parts does not exceed maxTotalParts. See 5mb is the minimum allowed part size.
   */
  readonly partSize?: FileSystem.Size
}

Added in v0.1.0

tag

MultipartUpload

Signature

export declare const MultipartUpload: Context.Tag<MultipartUpload, MultipartUpload>

Added in v0.1.0