generated: '2026-09-18' method: searched source: https://docs.aws.amazon.com/cli/latest/reference/dynamodb/ and https://docs.aws.amazon.com/cli/latest/reference/dynamodbstreams/ (read 2026-09-18); command surface reconciled against smithy/dynamodb-2012-08-10.json, which is the model the CLI is generated from. Version read from github.com/aws/aws-cli tags. note: 'The AWS CLI is not a hand-written DynamoDB CLI - it is generated from the same first-party model this repo now carries in smithy/, so the command surface and the API surface are one-to-one by construction: 58 dynamodb subcommands and 4 dynamodbstreams subcommands, named as the kebab-case of each operation. Two conveniences exist only in the CLI and are worth knowing: `aws dynamodb wait` blocks on table-exists/table-not-exists, and `--endpoint-url http://localhost:8000` points the whole surface at DynamoDB Local.' name: AWS CLI binary: aws namespaces: - aws dynamodb - aws dynamodbstreams - aws dax version: major: v2 latest: 2.36.48 source: https://github.com/aws/aws-cli/tags (read 2026-09-18) v1: package: awscli registry: pypi version: 1.46.1 published: '2026-08-27' note: v1 is still published but v2 is the current line; v2 is distributed as a signed installer/container, not a PyPI package. install: - platform: macos command: brew install awscli - platform: macos command: curl 'https://awscli.amazonaws.com/AWSCLIV2.pkg' -o AWSCLIV2.pkg && sudo installer -pkg AWSCLIV2.pkg -target / - platform: linux command: curl 'https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip' -o awscliv2.zip && unzip awscliv2.zip && sudo ./aws/install - platform: windows command: msiexec.exe /i https://awscliv2.amazonaws.com/AWSCLIV2.msi - platform: docker command: docker run --rm -it amazon/aws-cli dynamodb list-tables auth: style: aws-sigv4 configure: aws configure | aws configure sso | AWS_PROFILE / AWS_REGION environment variables note: Same IAM credentials as the SDKs; the CLI has no separate token. commands: dynamodb: count: 58 groups: tables: - create-global-table - create-table - delete-table - describe-global-table - describe-global-table-settings - describe-table - export-table-to-point-in-time - import-table - list-global-tables - list-tables - restore-table-from-backup - restore-table-to-point-in-time - update-global-table - update-global-table-settings - update-table items: - batch-execute-statement - batch-get-item - batch-write-item - delete-item - execute-statement - execute-transaction - get-item - put-item - query - scan - search-vectors - transact-get-items - transact-write-items - update-item backup-and-restore: - create-backup - delete-backup - describe-backup - describe-continuous-backups - list-backups - restore-table-from-backup - restore-table-to-point-in-time - update-continuous-backups import-export: - describe-export - describe-import - export-table-to-point-in-time - import-table - list-exports - list-imports global-tables: - create-global-table - describe-global-table - describe-global-table-settings - list-global-tables - update-global-table - update-global-table-settings streams-integration: - describe-kinesis-streaming-destination - disable-kinesis-streaming-destination - enable-kinesis-streaming-destination - update-kinesis-streaming-destination governance: - delete-resource-policy - describe-contributor-insights - describe-endpoints - describe-limits - describe-table-replica-auto-scaling - describe-time-to-live - get-resource-policy - list-contributor-insights - list-tags-of-resource - put-resource-policy - tag-resource - untag-resource - update-contributor-insights - update-table-replica-auto-scaling - update-time-to-live dynamodbstreams: count: 4 commands: - describe-stream - get-records - get-shard-iterator - list-streams key_flows: - name: Create a table and wait for it commands: - aws dynamodb create-table --table-name X --attribute-definitions ... --key-schema ... --billing-mode PAY_PER_REQUEST - aws dynamodb wait table-exists --table-name X - name: Run against DynamoDB Local commands: - docker run -p 8000:8000 amazon/dynamodb-local - aws dynamodb list-tables --endpoint-url http://localhost:8000 - name: Read an item as JSON rather than AttributeValue shapes commands: - aws dynamodb get-item --table-name X --key '{"pk":{"S":"1"}}' - aws dynamodb execute-statement --statement "SELECT * FROM X WHERE pk='1'" - name: Point-in-time restore commands: - aws dynamodb update-continuous-backups --table-name X --point-in-time-recovery-specification PointInTimeRecoveryEnabled=true - aws dynamodb restore-table-to-point-in-time --source-table-name X --target-table-name X-restored --restore-date-time wait_verbs: - table-exists - table-not-exists docs: https://docs.aws.amazon.com/cli/latest/reference/dynamodb/