Skip to main content

AWS CLI Commands

AWS Lambda

  1. aws lambda create-function --function-name MyFunction --zip-file fileb://function.zip --handler index.handler --runtime nodejs12.x --role arn:aws:iam::123456789012:role/lambda-role
  2. aws lambda invoke --function-name MyFunction --payload '{\"key\": \"value\"}' response.json
  3. aws lambda update-function-code --function-name MyFunction --zip-file fileb://function.zip
  4. aws lambda list-functions
  5. aws lambda delete-function --function-name MyFunction
  6. aws lambda get-function --function-name MyFunction
  7. aws lambda add-permission --function-name MyFunction --statement-id MyStatement --action lambda:InvokeFunction --principal s3.amazonaws.com --source-arn arn:aws:s3:::my-bucket
  8. aws lambda remove-permission --function-name MyFunction --statement-id MyStatement
  9. aws lambda create-event-source-mapping --function-name MyFunction --batch-size 100 --event-source-arn arn:aws:sqs:us-west-2:123456789012:my-queue
  10. aws lambda delete-event-source-mapping --uuid 12345678-abcd-efgh-ijkl-123456789012

Amazon API Gateway

  1. aws apigateway create-rest-api --name MyAPI
  2. aws apigateway get-rest-apis
  3. aws apigateway create-resource --rest-api-id 123456 --parent-id 123 --path-part newresource
  4. aws apigateway put-method --rest-api-id 123456 --resource-id 123 --http-method POST --authorization-type NONE
  5. aws apigateway put-integration --rest-api-id 123456 --resource-id 123 --http-method POST --integration-http-method POST --type AWS_PROXY --uri arn:aws:lambda:region:account-id:function:MyFunction
  6. aws apigateway create-deployment --rest-api-id 123456 --stage-name prod
  7. aws apigateway get-resources --rest-api-id 123456
  8. aws apigateway delete-rest-api --rest-api-id 123456
  9. aws apigateway update-rest-api --rest-api-id 123456 --patch-operations op=replace,path=/name,value=NewApiName
  10. aws apigateway get-stages --rest-api-id 123456

AWS Step Functions

  1. aws stepfunctions create-state-machine --name MyStateMachine --definition file://definition.json --role-arn arn:aws:iam::123456789012:role/service-role/StepFunctions-MyStateMachine-role
  2. aws stepfunctions list-state-machines
  3. aws stepfunctions start-execution --state-machine-arn arn:aws:states:us-west-2:123456789012:stateMachine:MyStateMachine --name ExecutionName --input \"{\\\"key\\\":\\\"value\\\"}\"
  4. aws stepfunctions get-execution-history --execution-arn arn:aws:states:us-west-2:123456789012:execution:MyStateMachine:ExecutionName
  5. aws stepfunctions stop-execution --execution-arn arn:aws:states:us-west-2:123456789012:execution:MyStateMachine:ExecutionName
  6. aws stepfunctions delete-state-machine --state-machine-arn arn:aws:states:us-west-2:123456789012:stateMachine:MyStateMachine
  7. aws stepfunctions describe-state-machine --state-machine-arn arn:aws:states:us-west-2:123456789012:stateMachine:MyStateMachine
  8. aws stepfunctions update-state-machine --state-machine-arn arn:aws:states:us-west-2:123456789012:stateMachine:MyStateMachine --definition file://new-definition.json
  9. aws stepfunctions describe-execution --execution-arn arn:aws:states:us-west-2:123456789012:execution:MyStateMachine:ExecutionName
  10. aws stepfunctions list-executions --state-machine-arn arn:aws:states:us-west-2:123456789012:stateMachine:MyStateMachine

Amazon S3

  1. aws s3 mb s3://my-bucket
  2. aws s3 ls s3://my-bucket
  3. aws s3 cp file.txt s3://my-bucket/file.txt
  4. aws s3 rm s3://my-bucket/file.txt
  5. aws s3 sync ./folder s3://my-bucket/folder
  6. aws s3api put-bucket-policy --bucket my-bucket --policy file://policy.json
  7. aws s3api get-bucket-policy --bucket my-bucket
  8. aws s3api delete-bucket-policy --bucket my-bucket
  9. aws s3api list-objects --bucket my-bucket
  10. aws s3api get-object --bucket my-bucket --key file.txt file.txt

Amazon DynamoDB

  1. aws dynamodb create-table --table-name MyTable --attribute-definitions AttributeName=Id,AttributeType=S --key-schema AttributeName=Id,KeyType=HASH --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5
  2. aws dynamodb list-tables
  3. aws dynamodb put-item --table-name MyTable --item '{\"Id\": {\"S\": \"123\"}, \"Name\": {\"S\": \"John\"}}'
  4. aws dynamodb get-item --table-name MyTable --key '{\"Id\": {\"S\": \"123\"}}'
  5. aws dynamodb update-item --table-name MyTable --key '{\"Id\": {\"S\": \"123\"}}' --update-expression 'SET Name = :name' --expression-attribute-values '{\":name\":{\"S\":\"Jane\"}}'
  6. aws dynamodb delete-item --table-name MyTable --key '{\"Id\": {\"S\": \"123\"}}'
  7. aws dynamodb scan --table-name MyTable
  8. aws dynamodb delete-table --table-name MyTable
  9. aws dynamodb describe-table --table-name MyTable
  10. aws dynamodb query --table-name MyTable --key-condition-expression \"Id = :id\" --expression-attribute-values '{\":id\": {\"S\": \"123\"}}'

AWS SAM (Serverless Application Model)

(Note: while AWS SAM is an extension of AWS CloudFormation, it has its own set of commands)

  1. sam init
  2. sam build
  3. sam package --s3-bucket my-bucket --output-template-file packaged-template.yaml
  4. sam deploy --template-file packaged-template.yaml --stack-name mystack --capabilities CAPABILITY_IAM
  5. sam publish --template packaged-template.yaml --region us-east-1
  6. sam local invoke \"MyFunction\" --event event.json
  7. sam local start-api
  8. sam validate --template file://template.yaml
  9. sam logs --name MyFunction --stack-name mystack
  10. sam delete --stack-name mystack

AWS CloudFormation

  1. aws cloudformation create-stack --stack-name mystack --template-body file://template.yaml
  2. aws cloudformation update-stack --stack-name mystack --template-body file://template.yaml
  3. aws cloudformation delete-stack --stack-name mystack
  4. aws cloudformation describe-stacks --stack-name mystack
  5. aws cloudformation list-stacks
  6. aws cloudformation describe-stack-events --stack-name mystack
  7. aws cloudformation describe-stack-resources --stack-name mystack
  8. aws cloudformation get-template --stack-name mystack
  9. aws cloudformation validate-template --template-body file://template.yaml
  10. aws cloudformation list-stack-resources --stack-name mystack

Amazon SQS (Simple Queue Service)

  1. aws sqs create-queue --queue-name MyQueue
  2. aws sqs list-queues
  3. aws sqs send-message --queue-url https://sqs.region.amazonaws.com/123456789012/MyQueue --message-body \"This is a test message\"
  4. aws sqs receive-message --queue-url https://sqs.region.amazonaws.com/123456789012/MyQueue
  5. aws sqs delete-message --queue-url https://sqs.region.amazonaws.com/123456789012/MyQueue --receipt-handle MsgReceiptHandle
  6. aws sqs purge-queue --queue-url https://sqs.region.amazonaws.com/123456789012/MyQueue
  7. aws sqs delete-queue --queue-url https://sqs.region.amazonaws.com/123456789012/MyQueue
  8. aws sqs get-queue-attributes --queue-url https://sqs.region.amazonaws.com/123456789012/MyQueue --attribute-names All
  9. aws sqs set-queue-attributes --queue-url https://sqs.region.amazonaws.com/123456789012/MyQueue --attributes '{\"VisibilityTimeout\":\"60\"}'
  10. aws sqs get-queue-url --queue-name MyQueue

Amazon SNS (Simple Notification Service)

  1. aws sns create-topic --name MyTopic
  2. aws sns list-topics
  3. aws sns subscribe --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic --protocol email --notification-endpoint my@email.com
  4. aws sns publish --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic --message \"Hello world\"
  5. aws sns unsubscribe --subscription-arn arn:aws:sns:us-west-2:123456789012:MyTopic:2c1f4cc0-dfdd-4abc-bbf3-b6f4657e3c9b
  6. aws sns delete-topic --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic
  7. aws sns get-topic-attributes --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic
  8. aws sns set-topic-attributes --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic --attribute-name DisplayName --attribute-value MyDisplayName
  9. aws sns list-subscriptions-by-topic --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic
  10. aws sns confirm-subscription --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic --token 2336412f37fb687f5d51e6e241dxxxxx

Amazon EventBridge

  1. aws events put-rule --name MyRule --event-pattern '{\"source\": [\"aws.ec2\"]}'
  2. aws events list-rules
  3. aws events delete-rule --name MyRule
  4. aws events put-targets --rule MyRule --targets \"Id\"=\"1\",\"Arn\"=\"arn:aws:lambda:region:account-id:function:MyFunction\"
  5. aws events remove-targets --rule MyRule --ids \"1\"
  6. aws events describe-rule --name MyRule
  7. aws events put-events --entries file://events.json
  8. aws events list-targets-by-rule --rule MyRule
  9. aws events disable-rule --name MyRule
  10. aws events enable-rule --name MyRule

AWS CodeDeploy

  1. aws deploy create-application --application-name MyApp
  2. aws deploy push --application-name MyApp --s3-location s3://my-bucket/my-app.zip --source .
  3. aws deploy create-deployment --application-name MyApp --s3-location bucket=my-bucket,key=my-app.zip,bundleType=zip
  4. aws deploy get-application --application-name MyApp
  5. aws deploy list-applications
  6. aws deploy list-deployments --application-name MyApp
  7. aws deploy get-deployment --deployment-id d-3GR0HQLX8
  8. aws deploy get-deployment-group --application-name MyApp --deployment-group-name MyDeploymentGroup
  9. aws deploy delete-deployment-group --application-name MyApp --deployment-group-name MyDeploymentGroup
  10. aws deploy update-deployment-group --application-name MyApp --current-deployment-group-name MyDeploymentGroup --new-deployment-group-name NewDeploymentGroup

AWS CodeBuild

  1. aws codebuild create-project --name MyProject --source type=CODECOMMIT,location=https://git-codecommit.us-west-2.amazonaws.com/v1/repos/my-repo --artifacts type=NO_ARTIFACTS --environment type=LINUX_CONTAINER,image=aws/codebuild/standard:4.0,computeType=BUILD_GENERAL1_SMALL
  2. aws codebuild start-build --project-name MyProject
  3. aws codebuild list-projects
  4. aws codebuild stop-build --id project-name:build-id
  5. aws codebuild list-builds-for-project --project-name MyProject
  6. aws codebuild batch-get-builds --ids project-name:build-id
  7. aws codebuild update-project --name MyProject --description \"New project description\"
  8. aws codebuild delete-project --name MyProject
  9. aws codebuild list-builds
  10. aws codebuild batch-get-projects --names MyProject

AWS CodePipeline

  1. aws codepipeline create-pipeline --cli-input-json file://pipeline.json
  2. aws codepipeline list-pipelines
  3. aws codepipeline get-pipeline --name MyPipeline
  4. aws codepipeline start-pipeline-execution --name MyPipeline
  5. aws codepipeline get-pipeline-state --name MyPipeline
  6. aws codepipeline list-pipeline-executions --pipeline-name MyPipeline
  7. aws codepipeline update-pipeline --cli-input-json file://updated-pipeline.json
  8. aws codepipeline delete-pipeline --name MyPipeline
  9. aws codepipeline put-action-revision --pipeline-name MyPipeline --stage-name MyStage --action-name MyAction --action-revision actionRevisionId=revision-id,revisionChangeId=change-id,revisionSummary=\"Revision summary\"
  10. aws codepipeline poll-for-jobs --action-type-id category=Deploy,owner=AWS,provider=CodeDeploy,version=1

AWS Fargate

  1. aws ecs create-cluster --cluster-name MyCluster
  2. aws ecs list-clusters
  3. aws ecs register-task-definition --cli-input-json file://fargate-task.json
  4. aws ecs list-task-definitions
  5. aws ecs run-task --cluster MyCluster --launch-type FARGATE --task-definition MyTaskDefinition
  6. aws ecs list-tasks --cluster MyCluster
  7. aws ecs describe-tasks --cluster MyCluster --tasks task-id
  8. aws ecs update-service --cluster MyCluster --service MyService --desired-count 2
  9. aws ecs delete-cluster --cluster MyCluster
  10. aws ecs deregister-task-definition --task-definition MyTaskDefinition

AWS Amplify

  1. aws amplify create-app --name MyApp --repository https://github.com/username/myapp
  2. aws amplify list-apps
  3. aws amplify start-job --app-id appId --branch-name master --job-type RELEASE
  4. aws amplify delete-app --app-id appId
  5. aws amplify get-app --app-id appId
  6. aws amplify list-branches --app-id appId
  7. aws amplify create-branch --app-id appId --branch-name feature-branch
  8. aws amplify delete-branch --app-id appId --branch-name feature-branch
  9. aws amplify create-domain-association --app-id appId --domain-name myapp.com --sub-domain-settings prefix=www,branchName=master
  10. aws amplify delete-domain-association --app-id appId --domain-name myapp.com

Amazon Kinesis

  1. aws kinesis create-stream --stream-name MyStream --shard-count 1
  2. aws kinesis list-streams
  3. aws kinesis describe-stream --stream-name MyStream
  4. aws kinesis put-record --stream-name MyStream --partition-key 123 --data data-bytes
  5. aws kinesis get-shard-iterator --stream-name MyStream --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON
  6. aws kinesis get-records --shard-iterator ShardIterator
  7. aws kinesis delete-stream --stream-name MyStream
  8. aws kinesis split-shard --stream-name MyStream --shard-to-split shardId-000000000000 --new-starting-hash-key startingHashKey
  9. aws kinesis merge-shards --stream-name MyStream --shard-to-merge shardId-000000000000 --adjacent-shard-to-merge adjacentShardId-000000000001
  10. aws kinesis list-shards --stream-name MyStream