Mercurial > public > tweet-analysis
annotate README.md @ 1:0277e7fc0f0a
first successful sam deploy
author | Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com> |
---|---|
date | Thu, 16 Sep 2021 09:38:07 +0200 |
parents | cea9500dca25 |
children | 5c36f51105c2 |
rev | line source |
---|---|
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
1 # tweet-analysis |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
2 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
3 ## Structure |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
4 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
5 - src - Code for the application's Lambda function. |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
6 - events - Invocation events that you can use to invoke the function. |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
7 - tests - Unit tests for the application code. |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
8 - template.yaml - A template that defines the application's AWS resources. |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
9 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
10 The application uses several AWS resources, including Lambda functions and an API Gateway API. |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
11 These resources are defined in the `template.yaml` file in this project. You can update the template to add AWS |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
12 resources through the same deployment process that updates your application code. |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
13 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
14 ## Deploy the application |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
15 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
16 The Serverless Application Model Command Line Interface (SAM CLI) is an extension of the AWS CLI that adds functionality |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
17 for building and testing Lambda applications. It uses Docker to run your functions in an Amazon Linux environment that |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
18 matches Lambda. It can also emulate your application's build environment and API. |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
19 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
20 To use the SAM CLI, you need the following tools. |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
21 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
22 * SAM CLI - |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
23 [Install the SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html) |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
24 * [Python 3 installed](https://www.python.org/downloads/) |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
25 * Docker - [Install Docker community edition](https://hub.docker.com/search/?type=edition&offering=community) |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
26 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
27 To build and deploy your application for the first time, run the following in your shell: |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
28 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
29 ```bash |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
30 sam build --use-container |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
31 sam deploy --guided |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
32 ``` |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
33 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
34 The first command will build the source of your application. The second command will package and deploy your application |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
35 to AWS, with a series of prompts: |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
36 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
37 * **Stack Name**: The name of the stack to deploy to CloudFormation. This should be unique to your account and region, |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
38 and a good starting point would be something matching your project name. |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
39 * **AWS Region**: The AWS region you want to deploy your app to. |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
40 * **Confirm changes before deploy**: If set to yes, any change sets will be shown to you before execution for manual |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
41 review. If set to no, the AWS SAM CLI will automatically deploy application changes. |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
42 * **Allow SAM CLI IAM role creation**: Many AWS SAM templates, including this example, create AWS IAM roles required |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
43 for the AWS Lambda function(s) included to access AWS services. By default, these are scoped down to minimum required |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
44 permissions. To deploy an AWS CloudFormation stack which creates or modifies IAM roles, the `CAPABILITY_IAM` value for |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
45 `capabilities` must be provided. If permission isn't provided through this prompt, to deploy this example you must |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
46 explicitly pass `--capabilities CAPABILITY_IAM` to the `sam deploy` command. |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
47 * **Save arguments to `samconfig.toml`**: If set to yes, your choices will be saved to a configuration file inside the |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
48 project, so that in the future you can just re-run `sam deploy` without parameters to deploy changes to your application. |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
49 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
50 You can find your API Gateway Endpoint URL in the output values displayed after deployment. |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
51 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
52 **If a certificate in AWS Certificate Manager is created with the template, you have to create manually the DNS |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
53 validation record to issue the certificate** |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
54 |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
55 ## Use the SAM CLI to build and test locally |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
56 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
57 Build your application with the `sam build --use-container` command. |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
58 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
59 ```bash |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
60 tweet-analysis$ sam build --use-container |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
61 ``` |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
62 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
63 The SAM CLI installs dependencies defined in `src/requirements.txt`, creates a deployment package, and saves it in the |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
64 `.aws-sam/build` folder. |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
65 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
66 Test a single function by invoking it directly with a test event. An event is a JSON document that represents the input |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
67 that the function receives from the event source. Test events are included in the `events` folder in this project. |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
68 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
69 Run functions locally and invoke them with the `sam local invoke` command. |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
70 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
71 ```bash |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
72 tweet-analysis$ sam local invoke HelloWorldFunction --event events/event.json |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
73 ``` |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
74 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
75 The SAM CLI can also emulate your application's API. Use the `sam local start-api` to run the API locally on port 3000. |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
76 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
77 ```bash |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
78 tweet-analysis$ sam local start-api |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
79 tweet-analysis$ curl http://localhost:3000/ |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
80 ``` |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
81 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
82 The SAM CLI reads the application template to determine the API's routes and the functions that they invoke. The |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
83 `Events` property on each function's definition includes the route and method for each path. |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
84 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
85 ```yaml |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
86 Events: |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
87 HelloWorld: |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
88 Type: Api |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
89 Properties: |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
90 Path: /hello |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
91 Method: get |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
92 ``` |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
93 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
94 ## Add a resource to your application |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
95 The application template uses AWS Serverless Application Model (AWS SAM) to define application resources. AWS SAM is an |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
96 extension of AWS CloudFormation with a simpler syntax for configuring common serverless application resources such as |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
97 functions, triggers, and APIs. For resources not included in |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
98 [the SAM specification](https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md), |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
99 you can use standard |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
100 [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
101 resource types. |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
102 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
103 ## Fetch, tail, and filter Lambda function logs |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
104 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
105 To simplify troubleshooting, SAM CLI has a command called `sam logs`. `sam logs` lets you fetch logs generated by your |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
106 deployed Lambda function from the command line. In addition to printing the logs on the terminal, this command has |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
107 several nifty features to help you quickly find the bug. |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
108 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
109 `NOTE`: This command works for all AWS Lambda functions; not just the ones you deploy using SAM. |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
110 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
111 ```bash |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
112 tweet-analysis$ sam logs -n HelloWorldFunction --stack-name tweet-analysis --tail |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
113 ``` |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
114 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
115 You can find more information and examples about filtering Lambda function logs in the |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
116 [SAM CLI Documentation](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-logging.html). |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
117 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
118 ## Tests |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
119 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
120 Tests are defined in the `tests` folder in this project. Use PIP to install the test dependencies and run tests. |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
121 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
122 ```bash |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
123 tweet-analysis$ pip install -r tests/requirements.txt --user |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
124 # unit test |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
125 tweet-analysis$ python -m pytest tests/unit -v |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
126 # integration test, requiring deploying the stack first. |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
127 # Create the env variable AWS_SAM_STACK_NAME with the name of the stack we are testing |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
128 tweet-analysis$ AWS_SAM_STACK_NAME=<stack-name> python -m pytest tests/integration -v |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
129 ``` |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
130 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
131 ## Cleanup |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
132 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
133 To delete the sample application that you created, use the AWS CLI. Assuming you used your project name for the stack |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
134 name, you can run the following: |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
135 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
136 ```bash |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
137 aws cloudformation delete-stack --stack-name tweet-analysis |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
138 ``` |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
139 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
140 ## Resources |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
141 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
142 See the [AWS SAM developer guide](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html) |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
143 for an introduction to SAM specification, the SAM CLI, and serverless application concepts. |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
144 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
145 Next, you can use AWS Serverless Application Repository to deploy ready to use Apps that go beyond hello world samples |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
146 and learn how authors developed their applications: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
147 [AWS Serverless Application Repository main page](https://aws.amazon.com/serverless/serverlessrepo/) |