-
Notifications
You must be signed in to change notification settings - Fork 11
feat(export): async, multi-service export #1042
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Plan Result (@infrastructure/transactional-emails-production)
Change Result (Click me) # aws_sns_topic_subscription.ListExportReadyEvents-sns-subscription will be updated in-place
~ resource "aws_sns_topic_subscription" "ListExportReadyEvents-sns-subscription" {
+ filter_policy = jsonencode(
{
+ detail-type = [
+ "list-export-ready",
]
}
)
+ filter_policy_scope = "MessageBody"
id = "arn:aws:sns:us-east-1:996905175585:PocketEventBridge-Prod-ListExportReadyEvents:d382f154-b61a-4219-99c2-93b7bd8f1096"
# (14 unchanged attributes hidden)
}
Plan: 0 to add, 1 to change, 0 to destroy.
|
Plan Result (@infrastructure/pocket-event-bridge-production)
Change Result (Click me) # aws_cloudwatch_event_rule.list-export-ready-event-topic_PocketEventBridge-Prod-ListExportReadyEvents-EventBridge-Rule_event-bridge-rule_62C0F581 will be updated in-place
~ resource "aws_cloudwatch_event_rule" "list-export-ready-event-topic_PocketEventBridge-Prod-ListExportReadyEvents-EventBridge-Rule_event-bridge-rule_62C0F581" {
~ event_pattern = jsonencode(
~ {
~ detail-type = [
"list-export-ready",
+ "export-part-complete",
]
~ source = [
"account-data-deleter",
+ "shareable-lists",
]
}
)
id = "PocketEventBridge-Prod-Shared-Event-Bus/PocketEventBridge-Prod-ListExportReadyEvents-Rule-Rule"
name = "PocketEventBridge-Prod-ListExportReadyEvents-Rule-Rule"
tags = {}
# (10 unchanged attributes hidden)
}
Plan: 0 to add, 1 to change, 0 to destroy.
|
Plan Result (@infrastructure/shareable-lists-api-production)
|
Plan Result (@infrastructure/account-data-deleter-production)
|
At this time the behavior should be the same, but there is an additional layer acting like a state machine to schedule the work, determine if it's finished, and notify the user if it is.
remove dev fxa secret env vars (they don't exist)
in DynamoDB feat(terraform): Add new method for subscribing SQS to multiple SNS Need to be able to update the SQS access policy to allow two ARNs; creating subscriptions with existing method results with the policy being chosen randomly since only one can be applied to a queue. Since we are already using the wrapped helper stacks, just make a new one. Alternatively just write it all manually.
pulling out shared code into package
f95fe7e
to
4a4af65
Compare
🎉 This PR is included in version @pocket-tools/terraform-modules-v5.20.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
🎉 This PR is included in version @pocket-tools/event-bridge-v1.11.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
🎉 This PR is included in version @pocket-tools/aws-utils-v1.0.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
Creates a distributed export service with state management. This changes our single-service list export to a distributed, asynchronous, multi-service export that includes collections and annotations. Collections are exported as json files (one per collection).
Partial request diagram

(Braze components omitted; shareable-lists is a separate work queue with analogous pattern and is omitted)
Changes: