aws / aws/aws-appsync-community

RFC: AppSync Enhanced Enhanced Subscriptions Filtering

Open
#291 0 comments 0 reactions 0 assignees View on GitHub
feature-request
Dominant language
HTML
Stars
507
Forks
37
PR merge metrics
No merged PRs in 30d

Description

The current enhanced subscriptions filtering is great -- thank you AppSync. I feel that the current system is cost prohibitive. Here is my use case.

There is a set of places we monitor. Every minute or so we want to publish information about each space so that subscribers have the option of getting real time information about a space. Upon implementing a mutation for each space every minute or so, we found the cost of making individual requests too high.

We could save money and electricity if we were able to publish this information in batches. The problem with that though is that I cannot use enhanced subscriptions filtering to get one item from a batch.

```
input Data {
locationId: Int!
datum1: Int!
datum2: Int!
}

type Mutation {
PublishData(batchId: Int!, data: [Data!]!): PublishDataOutput!
}

type PublishDataOutput {
batchId: Int!
data: [Data!]!
}

type Subscription {
RealtimeData(batchId: Int!, datum1: Int!): PublishDataOutput
@aws_subscribe(mutations: ["PublishData"])
}
```

It would be great to be able to have the subscription return a subset of data in the list based on the arguments.

Contributor guide

Open the contributing guide

Research direction

Start with the GraphQL schema example in the issue and review the existing enhanced subscriptions filtering behavior it describes. Done means determining whether subscription arguments can select items within a published list and documenting the required API change or its feasibility.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, graphql
Domain
api, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.