A company is migrating legacy internal applications to AWS. Leadership wants to rewrite the internal
employee directory to use native AWS services. A developer needs to create a solution for storing
employee contact details and high-resolution photos for use with the new application.
Which solution will enable the search and retrieval of each employee's individual details and high-
resolution photos using AWS APIs?
B
Explanation:
Amazon DynamoDB is a fully managed NoSQL database service that provides fast and consistent
performance with seamless scalability. The developer can store each employee’s contact information
in a DynamoDB table along with the object keys for the photos stored in Amazon S3. Amazon S3 is an
object storage service that offers industry-leading scalability, data availability, security, and
performance. The developer can use AWS APIs to search and retrieve the employee details and
photos from DynamoDB and S3.
Reference:
[Amazon DynamoDB]
[Amazon Simple Storage Service (S3)]
A developer is creating an application that will give users the ability to store photos from their
cellphones in the cloud. The application needs to support tens of thousands of users. The application
uses an Amazon API Gateway REST API that is integrated with AWS Lambda functions to process the
photos. The application stores details about the photos in Amazon DynamoDB.
Users need to create an account to access the application. In the application, users must be able to
upload photos and retrieve previously uploaded photos. The photos will range in size from 300 KB to
5 MB.
Which solution will meet these requirements with the LEAST operational overhead?
B
Explanation:
Amazon Cognito user pools is a service that provides a secure user directory that scales to hundreds
of millions of users. The developer can use Amazon Cognito user pools to manage user accounts and
create an Amazon Cognito user pool authorizer in API Gateway to control access to the API. The
developer can use the Lambda function to store the photos in Amazon S3, which is a highly scalable,
durable, and secure object storage service. The developer can store the object’s S3 key as part of the
photo details in the DynamoDB table, which is a fast and flexible NoSQL database service. The
developer can retrieve previously uploaded photos by querying DynamoDB for the S3 key and
fetching the photos from S3. This solution will meet the requirements with the least operational
overhead.
Reference:
[Amazon Cognito User Pools]
[Use Amazon Cognito User Pools - Amazon API Gateway]
[Amazon Simple Storage Service (S3)]
[Amazon DynamoDB]
A company receives food orders from multiple partners. The company has a microservices
application that uses Amazon API Gateway APIs with AWS Lambda integration. Each partner sends
orders by calling a customized API that is exposed through API Gateway. The API call invokes a shared
Lambda function to process the orders.
Partners need to be notified after the Lambda function processes the orders. Each partner must
receive updates for only the partner's own orders. The company wants to add new partners in the
future with the fewest code changes possible.
Which solution will meet these requirements in the MOST scalable way?
C
Explanation:
Amazon Simple Notification Service (Amazon SNS) is a fully managed messaging service that enables
pub/sub communication between distributed systems. The developer can create an SNS topic and
configure the Lambda function to publish messages with specific attributes to the topic. The
developer can subscribe each partner to the SNS topic and apply the appropriate filter policy to the
topic subscriptions. This way, each partner will receive updates for only their own orders based on
the message attributes. This solution will meet the requirements in the most scalable way and allow
adding new partners in the future with minimal code changes.
Reference:
[Amazon Simple Notification Service (SNS)]
[Filtering Messages with Attributes - Amazon Simple Notification Service]
A financial company must store original customer records for 10 years for legal reasons. A complete
record contains personally identifiable information (PII). According to local regulations, PII is
available to only certain people in the company and must not be shared with third parties. The
company needs to make the records available to third-party organizations for statistical analysis
without sharing the PII.
A developer wants to store the original immutable record in Amazon S3. Depending on who accesses
the S3 document, the document should be returned as is or with all the PII removed. The developer
has written an AWS Lambda function to remove the PII from the document. The function is named
removePii.
What should the developer do so that the company can meet the PII requirements while maintaining
only one copy of the document?
C
Explanation:
S3 Object Lambda allows you to add your own code to process data retrieved from S3 before
returning it to an application. You can use an AWS Lambda function to modify the data, such as
removing PII, redacting confidential information, or resizing images. You can create an S3 Object
Lambda access point and associate it with your Lambda function. Then, you can use the access point
to request objects from S3 and get the modified data back. This way, you can maintain only one copy
of the original document in S3 and apply different transformations depending on who accesses it.
Reference:
Using AWS Lambda with Amazon S3
A developer is deploying an AWS Lambda function The developer wants the ability to return to older
versions of the function quickly and seamlessly.
How can the developer achieve this goal with the LEAST operational overhead?
B
Explanation:
A function alias is a pointer to a specific Lambda function version. You can use aliases to create
different environments for your function, such as development, testing, and production. You can also
use aliases to perform blue/green deployments by shifting traffic between two versions of your
function gradually. This way, you can easily roll back to a previous version if something goes wrong,
without having to redeploy your code or change your configuration. Reference:
AWS Lambda
function aliases
A developer has written an AWS Lambda function. The function is CPU-bound. The developer wants
to ensure that the function returns responses quickly.
How can the developer improve the function's performance?
B
Explanation:
The amount of memory you allocate to your Lambda function also determines how much CPU and
network bandwidth it gets. Increasing the memory size can improve the performance of CPU-bound
functions by giving them more CPU power. The CPU allocation is proportional to the memory
allocation, so a function with 1 GB of memory has twice the CPU power of a function with 512 MB of
memory. Reference:
AWS Lambda execution environment
For a deployment using AWS Code Deploy, what is the run order of the hooks for in-place
deployments?
B
Explanation:
For in-place deployments, AWS CodeDeploy uses a set of predefined hooks that run in a specific
order during each deployment lifecycle event. The hooks are ApplicationStop, BeforeInstall,
AfterInstall, ApplicationStart, and ValidateService. The run order of the hooks for in-place
deployments is as follows:
ApplicationStop: This hook runs first on all instances and stops the current application that is running
on the instances.
BeforeInstall: This hook runs after ApplicationStop on all instances and performs any tasks required
before installing the new application revision.
AfterInstall: This hook runs after BeforeInstall on all instances and performs any tasks required after
installing the new application revision.
ApplicationStart: This hook runs after AfterInstall on all instances and starts the new application that
has been installed on the instances.
ValidateService: This hook runs last on all instances and verifies that the new application is running
properly on the instances.
Reference: [AWS CodeDeploy lifecycle event hooks reference]
A company is building a serverless application on AWS. The application uses an AWS Lambda
function to process customer orders 24 hours a day, 7 days a week. The Lambda function calls an
external vendor's HTTP API to process payments.
During load tests, a developer discovers that the external vendor payment processing API
occasionally times out and returns errors. The company expects that some payment processing API
calls will return errors.
The company wants the support team to receive notifications in near real time only when the
payment processing external API error rate exceed 5% of the total number of transactions in an hour.
Developers need to use an existing Amazon Simple Notification Service (Amazon SNS) topic that is
configured to notify the support team.
Which solution will meet these requirements?
B
Explanation:
Amazon CloudWatch is a service that monitors AWS resources and applications. The developer can
publish custom metrics to CloudWatch that record the failures of the external payment processing
API calls. The developer can configure a CloudWatch alarm to notify the existing SNS topic when the
error rate exceeds 5% of the total number of transactions in an hour. This solution will meet the
requirements in a near real-time and scalable way.
Reference:
[What Is Amazon CloudWatch? - Amazon CloudWatch]
[Publishing Custom Metrics - Amazon CloudWatch]
[Creating Amazon CloudWatch Alarms - Amazon CloudWatch]
A company is offering APIs as a service over the internet to provide unauthenticated read access to
statistical information that is updated daily. The company uses Amazon API Gateway and AWS
Lambda to develop the APIs. The service has become popular, and the company wants to enhance
the responsiveness of the APIs.
Which action can help the company achieve this goal?
A
Explanation:
Amazon API Gateway is a service that enables developers to create, publish, maintain, monitor, and
secure APIs at any scale. The developer can enable API caching in API Gateway to cache responses
from the backend integration point for a specified time-to-live (TTL) period. This can improve the
responsiveness of the APIs by reducing the number of calls made to the backend service.
Reference:
[What Is Amazon API Gateway? - Amazon API Gateway]
[Enable API Caching to Enhance Responsiveness - Amazon API Gateway]
A developer wants to store information about movies. Each movie has a title, release year, and
genre. The movie information also can include additional properties about the cast and production
crew. This additional information is inconsistent across movies. For example, one movie might have
an assistant director, and another movie might have an animal trainer.
The developer needs to implement a solution to support the following use cases:
For a given title and release year, get all details about the movie that has that title and release year.
For a given title, get all details about all movies that have that title.
For a given genre, get all details about all movies in that genre.
Which data store configuration will meet these requirements?
A
Explanation:
Amazon DynamoDB is a fully managed NoSQL database service that provides fast and consistent
performance with seamless scalability. The developer can create a DynamoDB table and configure
the table with a primary key that consists of the title as the partition key and the release year as the
sort key. This will enable querying for a given title and release year efficiently. The developer can also
create a global secondary index that uses the genre as the partition key and the title as the sort key.
This will enable querying for a given genre efficiently. The developer can store additional properties
about the cast and production crew as attributes in the DynamoDB table. These attributes can have
different data types and structures, and they do not need to be consistent across items.
Reference:
[Amazon DynamoDB]
[Working with Queries - Amazon DynamoDB]
[Working with Global Secondary Indexes - Amazon DynamoDB]