An Azure Function and associated resources that takes RSS feeds of cloud news (eg AWS What's New), generates a 3-sentence summary with Azure's Text Analytics, and sends the summary to Slack (with a link to the original post).
The Function polls the relevant RSS feeds every 30 minutes.
It is expected that both the Function and the Language Cognitive Services usage will fall within the free tier on Azure, or have very low cost (cents per month). Other resource usage is negligible and will likely also be free. For additional pricing information, see
Supporting resources are maintained in IaC with Pulumi.
- Head to the pulumi/ directory and follow the instructions to deploy that stack.
- Deploy the Azure Functions in the functions/ directory using either the Functions CLI, or the VS Code extension, choosing the
python3.9
runtime. Ensure that you set the required Applications Settings as detailed below in the deployed Function App resource.- Note: If you deployed the Functions before setting the below config in the Function App, you may need to redeploy the functions for it to take effect
The following Application Settings are required to be present on the deployed Function App:
TABLE_SA_CONNECTION
: connection string for storage account created in Pulumi - available in your Storage Account resource in the PortalTABLE_NAME
: table name within storage account - listed as a Pulumi outputENVIRONMENT
: table row key - string to differentiate multiple deployments, can be anything alphanumeric, egprod
QUEUE_NAME
: queue name within storage account - listed as a Pulumi outputCOGNITIVE_ENDPOINT
: endpoint URL (includinghttps://
) for the cognitive services resource - listed as a Pulumi outputCOGNITIVE_KEY
: key for the cognitive services resource - available in your Language resource in the PortalSLACK_WEBHOOK
: webhook URL for sending to Slack - see the Slack docs if you aren't sureSLACK_FAILURE_WEBHOOK
: webhook URL for processing failure alerts to Slack - can be the same or different to the normal Slack webhook (ie optionally send failures to a different channel)
Now:
- AWS What's New (https://aws.amazon.com/about-aws/whats-new/recent/feed/)
Next:
- Azure Updates (https://azurecomcdn.azureedge.net/en-gb/updates/feed/)