[ aws . dynamodb ]

start-bulk-put-items

Description

Starts an asynchronous bulk operation that reads items from Amazon S3 and writes them to an existing DynamoDB table, so you can efficiently load or migrate large datasets.

See also: AWS API Documentation

Synopsis

  start-bulk-put-items
[--client-token <value>]
--input-s3-configuration <value>
--output-s3-configuration <value>
--table-name <value>
[--max-write-request-units <value>]
[--performance-tier <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
[--cli-error-format <value>]

Options

--client-token (string)

A unique, case-sensitive identifier that ensures the bulk operation starts no more than one time. During the 8 hours after the initial request, repeated requests that use the same token and parameters return the same bulk operation. If a request reuses the token with different parameters, DynamoDB returns an IdempotentParameterMismatchException . If you omit the token, an Amazon Web Services SDK automatically generates one.

Constraints:

  • pattern: ^[^\$]+$

--input-s3-configuration (structure) [required]

The Amazon S3 location, data format, and compression settings for the input objects.

S3BucketOwner -> (string)

The Amazon Web Services account ID of the input bucket owner. If you omit this value, DynamoDB uses the Amazon Web Services account ID of the requester.

Note

S3BucketOwner is required when the bucket is owned by another Amazon Web Services account.

Constraints:

  • pattern: [0-9]{12}

S3Bucket -> (string) [required]

The name of the Amazon S3 bucket that contains the input objects.

Constraints:

  • max: 255
  • pattern: ^[a-z0-9A-Z]+[\.\-\w]*[a-z0-9A-Z]+$

S3KeyPrefix -> (string)

An optional key prefix that limits the input to matching objects in the Amazon S3 bucket.

Constraints:

  • max: 1024

InputFormat -> (string) [required]

The format of the input objects. DYNAMODB_JSON uses JSON Lines, with one JSON record per line. ION uses a sequence of Ion structs.

Possible values:

  • DYNAMODB_JSON
  • ION

InputCompressionType -> (string)

The compression type of the input objects. Valid values are GZIP , ZSTD , and NONE . If you don’t specify a value, DynamoDB uses NONE .

Possible values:

  • GZIP
  • ZSTD
  • NONE

Shorthand Syntax:

S3BucketOwner=string,S3Bucket=string,S3KeyPrefix=string,InputFormat=string,InputCompressionType=string

JSON Syntax:

{
  "S3BucketOwner": "string",
  "S3Bucket": "string",
  "S3KeyPrefix": "string",
  "InputFormat": "DYNAMODB_JSON"|"ION",
  "InputCompressionType": "GZIP"|"ZSTD"|"NONE"
}

--output-s3-configuration (structure) [required]

The Amazon S3 location, encryption settings, and output types for the bulk operation.

S3BucketOwner -> (string)

The Amazon Web Services account ID of the output bucket owner. If you omit this value, DynamoDB uses the Amazon Web Services account ID of the requester.

Note

S3BucketOwner is required when the bucket is owned by another Amazon Web Services account.

Constraints:

  • pattern: [0-9]{12}

S3Bucket -> (string)

The name of the Amazon S3 bucket where DynamoDB writes output records.

Constraints:

  • max: 255
  • pattern: ^[a-z0-9A-Z]+[\.\-\w]*[a-z0-9A-Z]+$

S3KeyPrefix -> (string)

An optional key prefix under which DynamoDB writes the output records.

Constraints:

  • max: 1024

S3SseAlgorithm -> (string)

The server-side encryption algorithm for the output objects. Valid values are AES256 and KMS . If you don’t specify a value, Amazon S3 applies the destination bucket’s default encryption settings.

Possible values:

  • AES256
  • KMS

S3SseKmsKeyId -> (string)

The identifier of the KMS key that encrypts the output objects. Specify this value when S3SseAlgorithm is KMS . Don’t specify it when the algorithm is AES256 .

Constraints:

  • min: 1
  • max: 2048

OutputType -> (list) [required]

The following values describe the types of output that DynamoDB writes for individual input items. Include one or both values.

ERROR

Reports input records or input objects that DynamoDB couldn’t process. This includes malformed input and item validation failures, such as a missing or incorrectly typed primary key attribute or an item that exceeds a DynamoDB limit.

CONDITION_CHECK_FAILURE

Reports the attempted item and, when present, the existing item for a write whose condition expression evaluates to false.

(string)

Possible values:

  • ERROR
  • CONDITION_CHECK_FAILURE

Shorthand Syntax:

S3BucketOwner=string,S3Bucket=string,S3KeyPrefix=string,S3SseAlgorithm=string,S3SseKmsKeyId=string,OutputType=string,string

JSON Syntax:

{
  "S3BucketOwner": "string",
  "S3Bucket": "string",
  "S3KeyPrefix": "string",
  "S3SseAlgorithm": "AES256"|"KMS",
  "S3SseKmsKeyId": "string",
  "OutputType": ["ERROR"|"CONDITION_CHECK_FAILURE", ...]
}

--table-name (string) [required]

The name or ARN of the existing DynamoDB table that receives the items.

Constraints:

  • min: 1
  • max: 1024

--max-write-request-units (long)

The maximum rate, in write request units per second, at which the bulk operation attempts to write. The value must be at least 1,024. With this setting, you limit only the bulk operation; the table’s provisioned or on-demand capacity settings don’t change. The actual write rate can be lower.

Constraints:

  • min: 1024

--performance-tier (string)

The performance tier for the bulk operation. Valid values are STANDARD and ACCELERATED . If you don’t specify a value, the operation uses STANDARD .

Possible values:

  • STANDARD
  • ACCELERATED

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command. The generated JSON skeleton is not stable between versions of the AWS CLI and there are no backwards compatibility guarantees in the JSON skeleton generated.

Global Options

--debug (boolean)

Turn on debug logging.

--endpoint-url (string)

Override command’s default URL with the given URL.

--no-verify-ssl (boolean)

By default, the AWS CLI uses SSL when communicating with AWS services. For each SSL connection, the AWS CLI will verify SSL certificates. This option overrides the default behavior of verifying SSL certificates.

--no-paginate (boolean)

Disable automatic pagination. If automatic pagination is disabled, the AWS CLI will only make one call, for the first page of results.

--output (string)

The formatting style for command output.

  • json
  • text
  • table
  • yaml
  • yaml-stream
  • off

--query (string)

A JMESPath query to use in filtering the response data.

--profile (string)

Use a specific profile from your credential file.

--region (string)

The region to use. Overrides config/env settings.

--version (string)

Display the version of this tool.

--color (string)

Turn on/off color output.

  • on
  • off
  • auto

--no-sign-request (boolean)

Do not sign requests. Credentials will not be loaded if this argument is provided.

--ca-bundle (string)

The CA certificate bundle to use when verifying SSL certificates. Overrides config/env settings.

--cli-read-timeout (int)

The maximum socket read time in seconds. If the value is set to 0, the socket read will be blocking and not timeout. The default value is 60 seconds.

--cli-connect-timeout (int)

The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.

--cli-binary-format (string)

The formatting style to be used for binary blobs. The default format is base64. The base64 format expects binary blobs to be provided as a base64 encoded string. The raw-in-base64-out format preserves compatibility with AWS CLI V1 behavior and binary values must be passed literally. When providing contents from a file that map to a binary blob fileb:// will always be treated as binary and use the file contents directly regardless of the cli-binary-format setting. When using file:// the file contents will need to properly formatted for the configured cli-binary-format.

  • base64
  • raw-in-base64-out

--no-cli-pager (boolean)

Disable cli pager for output.

--cli-auto-prompt (boolean)

Automatically prompt for CLI input parameters.

--no-cli-auto-prompt (boolean)

Disable automatically prompt for CLI input parameters.

--cli-error-format (string)

The formatting style for error output. By default, errors are displayed in enhanced format.

  • legacy
  • json
  • yaml
  • text
  • table
  • enhanced

Output

BulkOperationDescription -> (structure)

Contains detailed information about a bulk operation.

BulkOperationArn -> (string)

The Amazon Resource Name (ARN) of the bulk operation.

Constraints:

  • min: 37
  • max: 1024

BulkOperationStatus -> (string)

The current status of the bulk operation can be one of the following values:

IN_PROGRESS

DynamoDB is processing the input.

COMPLETED

The bulk operation finished without parsing or validation errors. Condition-check failures do not cause the operation to complete with errors.

COMPLETED_WITH_ERRORS

The bulk operation finished, but DynamoDB couldn’t process at least one input item because of a parsing or validation error. When you enable ERROR output, DynamoDB writes the details to the configured Amazon S3 output location.

CANCELLING

DynamoDB accepted a cancellation request and is stopping the operation.

CANCELLED

DynamoDB stopped the operation after a cancellation request.

FAILED

The bulk operation failed. DynamoDB might write some items before the operation reaches this status. See FailureCode and FailureMessage for details.

Possible values:

  • IN_PROGRESS
  • COMPLETED
  • COMPLETED_WITH_ERRORS
  • CANCELLING
  • CANCELLED
  • FAILED

TableDetails -> (list)

A list containing identifying information for the table targeted by the bulk operation.

(structure)

Contains identifying information for a table associated with a bulk operation.

TableName -> (string)

The name or ARN of the table associated with the bulk operation.

Constraints:

  • min: 1
  • max: 1024

TableId -> (string)

The unique identifier of the table associated with the bulk operation.

Constraints:

  • pattern: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}

ClientToken -> (string)

The idempotency token associated with the start request.

Constraints:

  • pattern: ^[^\$]+$

InputS3Configuration -> (structure)

The Amazon S3 input configuration associated with the bulk operation.

S3BucketOwner -> (string)

The Amazon Web Services account ID of the input bucket owner. If you omit this value, DynamoDB uses the Amazon Web Services account ID of the requester.

Note

S3BucketOwner is required when the bucket is owned by another Amazon Web Services account.

Constraints:

  • pattern: [0-9]{12}

S3Bucket -> (string) [required]

The name of the Amazon S3 bucket that contains the input objects.

Constraints:

  • max: 255
  • pattern: ^[a-z0-9A-Z]+[\.\-\w]*[a-z0-9A-Z]+$

S3KeyPrefix -> (string)

An optional key prefix that limits the input to matching objects in the Amazon S3 bucket.

Constraints:

  • max: 1024

InputFormat -> (string) [required]

The format of the input objects. DYNAMODB_JSON uses JSON Lines, with one JSON record per line. ION uses a sequence of Ion structs.

Possible values:

  • DYNAMODB_JSON
  • ION

InputCompressionType -> (string)

The compression type of the input objects. Valid values are GZIP , ZSTD , and NONE . If you don’t specify a value, DynamoDB uses NONE .

Possible values:

  • GZIP
  • ZSTD
  • NONE

OutputS3Configuration -> (structure)

The Amazon S3 output configuration associated with the bulk operation.

S3BucketOwner -> (string)

The Amazon Web Services account ID of the output bucket owner. If you omit this value, DynamoDB uses the Amazon Web Services account ID of the requester.

Note

S3BucketOwner is required when the bucket is owned by another Amazon Web Services account.

Constraints:

  • pattern: [0-9]{12}

S3Bucket -> (string)

The name of the Amazon S3 bucket where DynamoDB writes output records.

Constraints:

  • max: 255
  • pattern: ^[a-z0-9A-Z]+[\.\-\w]*[a-z0-9A-Z]+$

S3KeyPrefix -> (string)

An optional key prefix under which DynamoDB writes the output records.

Constraints:

  • max: 1024

S3SseAlgorithm -> (string)

The server-side encryption algorithm for the output objects. Valid values are AES256 and KMS . If you don’t specify a value, Amazon S3 applies the destination bucket’s default encryption settings.

Possible values:

  • AES256
  • KMS

S3SseKmsKeyId -> (string)

The identifier of the KMS key that encrypts the output objects. Specify this value when S3SseAlgorithm is KMS . Don’t specify it when the algorithm is AES256 .

Constraints:

  • min: 1
  • max: 2048

OutputType -> (list) [required]

The following values describe the types of output that DynamoDB writes for individual input items. Include one or both values.

ERROR

Reports input records or input objects that DynamoDB couldn’t process. This includes malformed input and item validation failures, such as a missing or incorrectly typed primary key attribute or an item that exceeds a DynamoDB limit.

CONDITION_CHECK_FAILURE

Reports the attempted item and, when present, the existing item for a write whose condition expression evaluates to false.

(string)

Possible values:

  • ERROR
  • CONDITION_CHECK_FAILURE

StartTime -> (timestamp)

The time when DynamoDB accepted the start request.

EndTime -> (timestamp)

The time when the operation reached a terminal status. DynamoDB omits this value while the operation remains in progress.

ProcessedItemCount -> (long)

The number of input items that DynamoDB has processed. This count includes successful writes, parsing or validation failures, and condition-check failures.

Constraints:

  • min: 0

ProcessedInputBytes -> (long)

The number of bytes that DynamoDB has read from the Amazon S3 input objects.

Constraints:

  • min: 0

TotalInputBytes -> (long)

The total size, in bytes, of the Amazon S3 input objects. DynamoDB omits this value until the initial input-size calculation completes.

Constraints:

  • min: 0

BulkOperationUsage -> (list)

Usage information for the table and its indexes.

(structure)

Contains the bytes used during a bulk operation, including a breakdown for the table and its indexes.

TableName -> (string)

The name or ARN of the table associated with the reported usage.

Constraints:

  • min: 1
  • max: 1024

BulkPutBytes -> (long)

The total number of bulk put bytes used by the operation. This value excludes bulk put vector bytes.

Constraints:

  • min: 0

Table -> (structure)

The number of bulk put bytes for the table, excluding its indexes.

BulkPutBytes -> (long)

The number of bulk put bytes.

Constraints:

  • min: 0

LocalSecondaryIndexes -> (map)

The bulk put bytes used on each local secondary index affected by the operation, keyed by index name.

key -> (string)

Constraints:

  • min: 3
  • max: 255
  • pattern: [a-zA-Z0-9_.-]+

value -> (structure)

Contains the bulk put bytes used during a bulk operation.

BulkPutBytes -> (long)

The number of bulk put bytes.

Constraints:

  • min: 0

GlobalSecondaryIndexes -> (map)

The bulk put bytes used on each global secondary index affected by the operation, keyed by index name.

key -> (string)

Constraints:

  • min: 3
  • max: 255
  • pattern: [a-zA-Z0-9_.-]+

value -> (structure)

Contains the bulk put bytes used during a bulk operation.

BulkPutBytes -> (long)

The number of bulk put bytes.

Constraints:

  • min: 0

VectorIndexes -> (map)

The bulk put vector bytes used on each vector index affected by the operation, keyed by index name.

key -> (string)

Constraints:

  • min: 3
  • max: 255
  • pattern: [a-zA-Z0-9_.-]+

value -> (structure)

Contains the bulk put vector bytes used by a vector index during a bulk operation.

BulkPutVectorBytes -> (long)

The number of bulk put vector bytes used on the vector index.

Constraints:

  • min: 0

FailedItemCount -> (long)

The number of processed input items that failed because of parsing or validation errors. This count is included in ProcessedItemCount . Condition-check failures do not increase this count.

Constraints:

  • min: 0

FailureCode -> (string)

A code that identifies why the bulk operation failed or was cancelled. DynamoDB returns this value only when BulkOperationStatus is FAILED or CANCELLED .

FailureMessage -> (string)

A message that describes why the bulk operation failed or was cancelled. DynamoDB returns this value only when BulkOperationStatus is FAILED or CANCELLED .

MaxWriteRequestUnits -> (long)

The maximum write request unit rate configured for the bulk operation.

Constraints:

  • min: 1024

PerformanceTier -> (string)

The performance tier selected for the bulk operation. Valid values are STANDARD and ACCELERATED . If the start request omitted this value, DynamoDB uses STANDARD .

Possible values:

  • STANDARD
  • ACCELERATED