AWS AppSync is a managed service provided by AWS that enables developers to build scalable and secure GraphQL APIs for web and mobile applications. It simplifies the process of creating and managing GraphQL APIs by handling the heavy lifting of infrastructure management, real-time data synchronization, and offline data access.
The FireTail AppSync Lambda integration receives Cloudwatch log events from AppSync APIs, and forwards request and response data to the FireTail platform.
Before deploying the Firetail AppSync Lambda, make sure your AppSync app is configured to log to CloudWatch. For detailed instructions, refer to the AWS documentation.
To properly configure logging, follow these recommendations:
Note: Record the name of the CloudWatch log group associated with your AppSync app. This will be needed for the Firetail AppSync Lambda deployment. The log group name should follow the format /aws/appsync/apis/{graphql_api_id}
.
To deploy the Firetail AppSync Lambda, you need an API token from the Firetail SaaS platform.
Create an API:
View full instructions on creating an API.
Generate an API token:
View full instructions on creating an API token.
The process of building the Firetail AppSync Lambda binary can be performed using the Makefile at the root of this repository, using the build target:
A more in-depth explanation of how to build the Firetail AppSync Lambda from source can be found in docs/build-from-src.md.
A serverless.yml is provided in the root of this repository, which has two parameters:
cloudwatch-log-group
, the log group for an AppSync API in Cloudwatch (see Configuring AppSync).firetail-api-token
, an API token from the Firetail SaaS (see Generating a Firetail API Token).Given these two values, the Lambda can be deployed by running the following serverless command from the root of the repository:
This serverless command may require additional flags depending upon the use case, for example to specify the region in which the Lambda should be deployed. See sls deploy --help
for a list of available flags.