Giter VIP home page Giter VIP logo

Comments (9)

DBurkhead avatar DBurkhead commented on September 26, 2024

@djecht The default read/write capacity for the DynamoDB table deployed by the RTA CloudFormation template is pretty small. I've seen cases where the capacity needed to be increased, depending on the volume of state changes. The default capacity is intended to limit charges in the case of a small, test system. You may need to adjust the capacity of your DynamoDB table. Check the Read Capacity and Write Capacity metrics on the Metrics tab of the DynamoDB table. You can adjust the capacity on the Capacity tab. You can either explicitly increase the provisioned capacity, enable auto scaling, or switch to on-demand mode and let AWS handle the provisioning.
I can't tell from the error whether this issue is related to exceeding the capacity of the DynamoDB table, but it's worth a shot.

from connect-integration-aspect-wfm.

ashwanijha04 avatar ashwanijha04 commented on September 26, 2024

Hi @DBurkhead

Replication Steps: [https://aws.amazon.com/quickstart/connect/aspect-wfm/]

  • Create an Amazon Connect Instance
  • From the above doc, Deploy for both options. [New Kinesis Stream]
  • After the stack is created, look at the RTA Stack. [Step 4 asks us to enable Kinesis Data Stream]
  • 'LambdaFunctionCloudTest' expects a Kinesis Stream type of data and raises an 'Object not found' exception when the request payload is wrong.
  • Now, login to your connect instance(Create user is required). On clicking the small call button on the top right, a new window will be open.
  • Changing the status to Available/Offline triggers the lambda function(by RTA).
  • The function needs to write this data to DynamoDb but it throws an exception when it is not able to find the Records['Kinesis']['data'] object. Kinesis Stream type of data has this object but the RecordData does not have this and this is raising an exception.

from connect-integration-aspect-wfm.

ashwanijha04 avatar ashwanijha04 commented on September 26, 2024

Hi @DBurkhead

I have provided steps to re-create the error. Would you please help with this?

from connect-integration-aspect-wfm.

DBurkhead avatar DBurkhead commented on September 26, 2024

@ashwanijha04
The error you describe sounds like a configuration issue. How did you configure the Data streaming settings of your Amazon Connect? The Kinesis stream created by the RTA stack should be selected under Agent Events. It should not be selected for Contact Trace Records.

from connect-integration-aspect-wfm.

ashwanijha04 avatar ashwanijha04 commented on September 26, 2024

Thank you @DBurkhead. Your help is really appreciated. Could you please tell me what to do if I want to use both Contact Trace Records and Agent Events? Should I create a different kinesis stream for CTR? And if so, which lambda function should this kinesis stream trigger?

from connect-integration-aspect-wfm.

DBurkhead avatar DBurkhead commented on September 26, 2024

@ashwanijha04
Yes, I'd recommend that you create a different kinesis stream for Contact Trace Records (or kinesis firehose stream, depending on what you want to do with Contact Trace Records). The Lambda created by the RTA stack, LambdaFunctionCloudTest, should be associated with the Agent Events kinesis stream. Both of the deployment options associated with the Aspect Workforce Management AWS QuickStart depend on the Agent Events kinesis stream. The QuickStart does not create any Lambdas intended to consume the Contact Trace Records kinesis stream. If you want to do something in response to Contact Trace Records, you would need to create that Lambda (or hire someone to create that Lambda). A Lambda can be triggered by multiple kinesis streams, so you could configure this new Lambda to fire based on new Agent Events and new Contact Trace Records, if needed.

from connect-integration-aspect-wfm.

ashwanijha04 avatar ashwanijha04 commented on September 26, 2024

Thank you so much @DBurkhead 👍

from connect-integration-aspect-wfm.

DBurkhead avatar DBurkhead commented on September 26, 2024

@djecht I was trying to reproduce the second scenario added to this issue, configuring both Contact Trace Records and Agent Events to feed the Kinesis stream associated with the RTA integration, and I got the error you listed above. If the Lambda created by the RTA integration gets a Contact Trace Record, it will attempt to parse it as an Agent Event record, get a null AgentARN, and then tries to add a row to the DynamoDB table for the null AgentARN, which results in the error listed above. A Contact Trace Record includes the agent ARN, but it's not in a top-level field called AgentARN; it's in the Agent/ARN field in the CTR JSON format.
If you have configured both Contact Trace Records and Agent Events to use the Kinesis stream associated with your RTA stack, I recommend that you disable the feed of Contact Trace Records. The Lambda created by the RTA stack expects all of the records it reads to match the Agent Event JSON format.

from connect-integration-aspect-wfm.

djecht avatar djecht commented on September 26, 2024

@DBurkhead Thanks so much for that, and apologies for the lack of update!
Turns out that i did have both Contact Trace Records and Agent Events being fed to the one Kinesis stream. I only had the one Kinesis stream created when I was enabling Data Streaming for Amazon Connect and I think GUI forces you to populate the CTR and Agent Event fields.

I haven't encountered the issue since separating the two!

from connect-integration-aspect-wfm.

Related Issues (6)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.