Tag: aws-java-sdk
Mandatory methods must be called after object creation.
Setting withCallProcessRecordsEvenForEmptyRecordList
to TRUE
during Kinesis Client Library (KCL) initialization will treat empty records differently.
Manually performing an object existence check is inefficient when a built-in operation is available.
Custom manual retries of calls to AWS SDK APIs are inefficient.
Accessing the cache response metadata without performing a null
check might cause a null dereference error.
The AWS Labs Transactions Library is a client-side solution and less efficient compared to DynamoDB native transactions.
Manually creating text-based IAM policies is error-prone.
Use S3Objects.withPrefix()
instead of manually paginating results.
Reuse AWS clients in Lambda.
Encryption that is dependent on conditional logic, such as an if...then
clause, might cause unencrypted sensitive data to be stored.
Custom polling can be inefficient and prone to error. Consider using AWS waiters instead.
Recreating AWS clients in each Lambda function invocation is expensive.
Enable long polling for efficiency.
Overriding environment variables that are reserved by AWS Lambda might lead to unexpected behavior.
Failure to specify a content length causes the contents of the input stream to buffer locally in memory in order to calculate its length. This can result in performance problems.
An outdated or bad parameters were detected in calls to some AWS API methods.
Uploading objects to Amazon S3 by using streams (either through an AmazonS3 client or TransferManager
) might encounter network connectivity or timeout issues.
Maintain your code's backward compatibility by checking the status code instead of parsing the error message.
Not setting the S3 bucket owner condition might introduce a risk of accidentally using a wrong bucket.
Outputs of AWS DynamoDB's GetItem
method are not null checked.
Synchronous publication of AWS Lambda metrics is inefficient.
Provide the full URL for the Amazon SQS queue.
To minimize the risk of error, use an enum instead of a string to specify an AWS Region.
Improper filtering of Amazon Machine Images (AMIs) can result in loading an untrusted image, a potential security vulnerability.
User metadata keys are case insensitive and are returned as lowercase strings, even if they were originally specified with uppercase strings.
Set an explicit AWS Region to avoid cold start delays in AWS client initialization.
Check if errors are returned by DynamoDBMapper
's BatchWrite
operations.
Client constructors are now deprecated in favor of using builders to create the client.
Suggest using auto-pagination instead of manual pagination.
The chain of API calls can be replaced with a single, more efficient API call.
Additional results are not checked for a paginated API call. This might produce inaccurate results.
Call ShutdownNow
when you use TransferManager
to manage transfers to Amazon S3.
Batch operations are more efficient than looping to process several items at the same time.
When you change Amazon SQS message visibility, check for MessageNotInFlight
exceptions.
Client-side decryption followed by reencryption is inefficient and can lead to sensitive data leaks.
Not checking which items have failed can lead to loss of data.