Which actions are best practices to resolve this error?
(Choose two.)
Use the LocalCryptoMatenalsCache feature of the AWS Encryption SDK encryption library.
Call the AWS KMS Encrypt operation directly to allow AWS KMS to encrypt the data.
Create a case in the AWS Support Center to increase the quota for the account.
Use Amazon Simple Queue Service (Amazon SQS) to queue the requests to AWS KMS.
Switch to an AWS KMS custom key store.
Explanations:
Using the LocalCryptoMaterialsCache in the AWS Encryption SDK can reduce the frequency of calls to AWS KMS by caching data keys locally, thereby decreasing the chance of throttling.
Calling the AWS KMS Encrypt operation directly does not reduce the frequency of calls and thus does not address the throttling issue. It also does not align with the requirement to use GenerateDataKey for encryption.
Requesting a quota increase through AWS Support can resolve throttling issues, as AWS KMS quotas are adjustable. This is a common solution to handle high throughput.
Using Amazon SQS will queue requests but does not reduce the volume or frequency of KMS calls, so it will not directly prevent throttling issues.
Switching to a custom key store does not address throttling or rate limits associated with KMS API calls and may add complexity without resolving the issue.