AWS CLI Commands
AWS Lambda
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-roleaws lambda invoke --function-name MyFunction --payload '{\"key\": \"value\"}' response.jsonaws lambda update-function-code --function-name MyFunction --zip-file fileb://function.zipaws lambda list-functionsaws lambda delete-function --function-name MyFunctionaws lambda get-function --function-name MyFunctionaws lambda add-permission --function-name MyFunction --statement-id MyStatement --action lambda:InvokeFunction --principal s3.amazonaws.com --source-arn arn:aws:s3:::my-bucketaws lambda remove-permission --function-name MyFunction --statement-id MyStatementaws lambda create-event-source-mapping --function-name MyFunction --batch-size 100 --event-source-arn arn:aws:sqs:us-west-2:123456789012:my-queueaws lambda delete-event-source-mapping --uuid 12345678-abcd-efgh-ijkl-123456789012
Amazon API Gateway
aws apigateway create-rest-api --name MyAPIaws apigateway get-rest-apisaws apigateway create-resource --rest-api-id 123456 --parent-id 123 --path-part newresourceaws apigateway put-method --rest-api-id 123456 --resource-id 123 --http-method POST --authorization-type NONEaws 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:MyFunctionaws apigateway create-deployment --rest-api-id 123456 --stage-name prodaws apigateway get-resources --rest-api-id 123456aws apigateway delete-rest-api --rest-api-id 123456aws apigateway update-rest-api --rest-api-id 123456 --patch-operations op=replace,path=/name,value=NewApiNameaws apigateway get-stages --rest-api-id 123456
AWS Step Functions
aws stepfunctions create-state-machine --name MyStateMachine --definition file://definition.json --role-arn arn:aws:iam::123456789012:role/service-role/StepFunctions-MyStateMachine-roleaws stepfunctions list-state-machinesaws stepfunctions start-execution --state-machine-arn arn:aws:states:us-west-2:123456789012:stateMachine:MyStateMachine --name ExecutionName --input \"{\\\"key\\\":\\\"value\\\"}\"aws stepfunctions get-execution-history --execution-arn arn:aws:states:us-west-2:123456789012:execution:MyStateMachine:ExecutionNameaws stepfunctions stop-execution --execution-arn arn:aws:states:us-west-2:123456789012:execution:MyStateMachine:ExecutionNameaws stepfunctions delete-state-machine --state-machine-arn arn:aws:states:us-west-2:123456789012:stateMachine:MyStateMachineaws stepfunctions describe-state-machine --state-machine-arn arn:aws:states:us-west-2:123456789012:stateMachine:MyStateMachineaws stepfunctions update-state-machine --state-machine-arn arn:aws:states:us-west-2:123456789012:stateMachine:MyStateMachine --definition file://new-definition.jsonaws stepfunctions describe-execution --execution-arn arn:aws:states:us-west-2:123456789012:execution:MyStateMachine:ExecutionNameaws stepfunctions list-executions --state-machine-arn arn:aws:states:us-west-2:123456789012:stateMachine:MyStateMachine
Amazon S3
aws s3 mb s3://my-bucketaws s3 ls s3://my-bucketaws s3 cp file.txt s3://my-bucket/file.txtaws s3 rm s3://my-bucket/file.txtaws s3 sync ./folder s3://my-bucket/folderaws s3api put-bucket-policy --bucket my-bucket --policy file://policy.jsonaws s3api get-bucket-policy --bucket my-bucketaws s3api delete-bucket-policy --bucket my-bucketaws s3api list-objects --bucket my-bucketaws s3api get-object --bucket my-bucket --key file.txt file.txt
Amazon DynamoDB
aws dynamodb create-table --table-name MyTable --attribute-definitions AttributeName=Id,AttributeType=S --key-schema AttributeName=Id,KeyType=HASH --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5aws dynamodb list-tablesaws dynamodb put-item --table-name MyTable --item '{\"Id\": {\"S\": \"123\"}, \"Name\": {\"S\": \"John\"}}'aws dynamodb get-item --table-name MyTable --key '{\"Id\": {\"S\": \"123\"}}'aws dynamodb update-item --table-name MyTable --key '{\"Id\": {\"S\": \"123\"}}' --update-expression 'SET Name = :name' --expression-attribute-values '{\":name\":{\"S\":\"Jane\"}}'aws dynamodb delete-item --table-name MyTable --key '{\"Id\": {\"S\": \"123\"}}'aws dynamodb scan --table-name MyTableaws dynamodb delete-table --table-name MyTableaws dynamodb describe-table --table-name MyTableaws 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)
sam initsam buildsam package --s3-bucket my-bucket --output-template-file packaged-template.yamlsam deploy --template-file packaged-template.yaml --stack-name mystack --capabilities CAPABILITY_IAMsam publish --template packaged-template.yaml --region us-east-1sam local invoke \"MyFunction\" --event event.jsonsam local start-apisam validate --template file://template.yamlsam logs --name MyFunction --stack-name mystacksam delete --stack-name mystack
AWS CloudFormation
aws cloudformation create-stack --stack-name mystack --template-body file://template.yamlaws cloudformation update-stack --stack-name mystack --template-body file://template.yamlaws cloudformation delete-stack --stack-name mystackaws cloudformation describe-stacks --stack-name mystackaws cloudformation list-stacksaws cloudformation describe-stack-events --stack-name mystackaws cloudformation describe-stack-resources --stack-name mystackaws cloudformation get-template --stack-name mystackaws cloudformation validate-template --template-body file://template.yamlaws cloudformation list-stack-resources --stack-name mystack
Amazon SQS (Simple Queue Service)
aws sqs create-queue --queue-name MyQueueaws sqs list-queuesaws sqs send-message --queue-url https://sqs.region.amazonaws.com/123456789012/MyQueue --message-body \"This is a test message\"aws sqs receive-message --queue-url https://sqs.region.amazonaws.com/123456789012/MyQueueaws sqs delete-message --queue-url https://sqs.region.amazonaws.com/123456789012/MyQueue --receipt-handle MsgReceiptHandleaws sqs purge-queue --queue-url https://sqs.region.amazonaws.com/123456789012/MyQueueaws sqs delete-queue --queue-url https://sqs.region.amazonaws.com/123456789012/MyQueueaws sqs get-queue-attributes --queue-url https://sqs.region.amazonaws.com/123456789012/MyQueue --attribute-names Allaws sqs set-queue-attributes --queue-url https://sqs.region.amazonaws.com/123456789012/MyQueue --attributes '{\"VisibilityTimeout\":\"60\"}'aws sqs get-queue-url --queue-name MyQueue
Amazon SNS (Simple Notification Service)
aws sns create-topic --name MyTopicaws sns list-topicsaws sns subscribe --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic --protocol email --notification-endpoint my@email.comaws sns publish --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic --message \"Hello world\"aws sns unsubscribe --subscription-arn arn:aws:sns:us-west-2:123456789012:MyTopic:2c1f4cc0-dfdd-4abc-bbf3-b6f4657e3c9baws sns delete-topic --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopicaws sns get-topic-attributes --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopicaws sns set-topic-attributes --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic --attribute-name DisplayName --attribute-value MyDisplayNameaws sns list-subscriptions-by-topic --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopicaws sns confirm-subscription --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic --token 2336412f37fb687f5d51e6e241dxxxxx
Amazon EventBridge
aws events put-rule --name MyRule --event-pattern '{\"source\": [\"aws.ec2\"]}'aws events list-rulesaws events delete-rule --name MyRuleaws events put-targets --rule MyRule --targets \"Id\"=\"1\",\"Arn\"=\"arn:aws:lambda:region:account-id:function:MyFunction\"aws events remove-targets --rule MyRule --ids \"1\"aws events describe-rule --name MyRuleaws events put-events --entries file://events.jsonaws events list-targets-by-rule --rule MyRuleaws events disable-rule --name MyRuleaws events enable-rule --name MyRule
AWS CodeDeploy
aws deploy create-application --application-name MyAppaws deploy push --application-name MyApp --s3-location s3://my-bucket/my-app.zip --source .aws deploy create-deployment --application-name MyApp --s3-location bucket=my-bucket,key=my-app.zip,bundleType=zipaws deploy get-application --application-name MyAppaws deploy list-applicationsaws deploy list-deployments --application-name MyAppaws deploy get-deployment --deployment-id d-3GR0HQLX8aws deploy get-deployment-group --application-name MyApp --deployment-group-name MyDeploymentGroupaws deploy delete-deployment-group --application-name MyApp --deployment-group-name MyDeploymentGroupaws deploy update-deployment-group --application-name MyApp --current-deployment-group-name MyDeploymentGroup --new-deployment-group-name NewDeploymentGroup
AWS CodeBuild
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_SMALLaws codebuild start-build --project-name MyProjectaws codebuild list-projectsaws codebuild stop-build --id project-name:build-idaws codebuild list-builds-for-project --project-name MyProjectaws codebuild batch-get-builds --ids project-name:build-idaws codebuild update-project --name MyProject --description \"New project description\"aws codebuild delete-project --name MyProjectaws codebuild list-buildsaws codebuild batch-get-projects --names MyProject
AWS CodePipeline
aws codepipeline create-pipeline --cli-input-json file://pipeline.jsonaws codepipeline list-pipelinesaws codepipeline get-pipeline --name MyPipelineaws codepipeline start-pipeline-execution --name MyPipelineaws codepipeline get-pipeline-state --name MyPipelineaws codepipeline list-pipeline-executions --pipeline-name MyPipelineaws codepipeline update-pipeline --cli-input-json file://updated-pipeline.jsonaws codepipeline delete-pipeline --name MyPipelineaws codepipeline put-action-revision --pipeline-name MyPipeline --stage-name MyStage --action-name MyAction --action-revision actionRevisionId=revision-id,revisionChangeId=change-id,revisionSummary=\"Revision summary\"aws codepipeline poll-for-jobs --action-type-id category=Deploy,owner=AWS,provider=CodeDeploy,version=1
AWS Fargate
aws ecs create-cluster --cluster-name MyClusteraws ecs list-clustersaws ecs register-task-definition --cli-input-json file://fargate-task.jsonaws ecs list-task-definitionsaws ecs run-task --cluster MyCluster --launch-type FARGATE --task-definition MyTaskDefinitionaws ecs list-tasks --cluster MyClusteraws ecs describe-tasks --cluster MyCluster --tasks task-idaws ecs update-service --cluster MyCluster --service MyService --desired-count 2aws ecs delete-cluster --cluster MyClusteraws ecs deregister-task-definition --task-definition MyTaskDefinition
AWS Amplify
aws amplify create-app --name MyApp --repository https://github.com/username/myappaws amplify list-appsaws amplify start-job --app-id appId --branch-name master --job-type RELEASEaws amplify delete-app --app-id appIdaws amplify get-app --app-id appIdaws amplify list-branches --app-id appIdaws amplify create-branch --app-id appId --branch-name feature-branchaws amplify delete-branch --app-id appId --branch-name feature-branchaws amplify create-domain-association --app-id appId --domain-name myapp.com --sub-domain-settings prefix=www,branchName=masteraws amplify delete-domain-association --app-id appId --domain-name myapp.com
Amazon Kinesis
aws kinesis create-stream --stream-name MyStream --shard-count 1aws kinesis list-streamsaws kinesis describe-stream --stream-name MyStreamaws kinesis put-record --stream-name MyStream --partition-key 123 --data data-bytesaws kinesis get-shard-iterator --stream-name MyStream --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZONaws kinesis get-records --shard-iterator ShardIteratoraws kinesis delete-stream --stream-name MyStreamaws kinesis split-shard --stream-name MyStream --shard-to-split shardId-000000000000 --new-starting-hash-key startingHashKeyaws kinesis merge-shards --stream-name MyStream --shard-to-merge shardId-000000000000 --adjacent-shard-to-merge adjacentShardId-000000000001aws kinesis list-shards --stream-name MyStream