CloudWatch Evidently Flutter library and payload limitations for batchEvaluateFeature

0

We are experimenting with Evidently and have loved it so far. I have a couple of questions and clarifications

  1. We have a react app and a flutter based app. While I was able to experiment with React using @aws-sdk/client-evidently I could not find a corresponding alternative for Flutter. Do we have one ?
  2. Also in comparing to another feature flag product called Flagsmith where we can identify an user with attributes (e.g; country, role, group) at the outset (during login) and then flagsmith will factor in segments and flag values to let us know if the feature is enabled for the given user. WE need to provide user info and attributes only once. However, with evidently I guess we need to pass the entityID and attributes (evaluationContext in EvaluationRequest) to every request to see if a feature is enabled for an user. To overcome this I was combining listFeatures and batchEvaluateFeature to get and filter all the flags enabled for an user on login and then re-use it later. However listFeatures is limited to max of 100 per response (which could be overcome by another query) I feel batchEvaluateFeature is limited to only 20 objects in the payload array which limits the ability for larger projects / products which could have many experiments going on.

Long term: I suggest you either introduce a new method to register the user (entityId) with attributes (evaluationContext) which we could use during login. From then on just querying evaluateFeature(flagName) alone would recognize the user and the context to return if flag is enabled. This would be of significant value to us

(OR)

Interim: In the interim could you at least allow for the batchEvaluateFeature to have 50 or 100 payload (requests: EvaluationRequest[])?

Appreciate your time and help

profile picture
Ram
asked 9 months ago200 views
1 Answer
0

Hello,

AWS-SDK lets you use EvaluateFeature and other APIs from nine programming languages: C++, Go, Java, JavaScript (and Typescript), .Net, NodeJS, PHP, Python, and Ruby. AWS SDK for Rust and Swift are in the making [1].

[1] https://aws.amazon.com/blogs/aws/cloudwatch-evidently/

Flutter uses Dart language and currently we do not have a library to support this.

Further, the requests parameter of BatchEvaluateFeature API [2] allows a maximum of 20 request objects. It is not possible to increase this limit. In order to suggest an alternative/suitable method to meet your requirements, it is necessary to get into the details of your use-case. Keeping in mind your data privacy, you can open a technical support case with AWS using the link [3] and share your use-case. AWS Premium Support engineers will assist you accordingly.

[2] BatchEvaluateFeature API - https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_BatchEvaluateFeature.html#API_BatchEvaluateFeature_RequestBody

[3] AWS Support Center - https://console.aws.amazon.com/support

AWS
SUPPORT ENGINEER
answered 9 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions