Free Amazon-DEA-C01 Exam Braindumps
AWS Certified Data Engineer - Associate Questions 105–112 (page: 15)

Updated On: 3-Aug-2026

A data engineer creates an AWS Lambda function that an Amazon EventBridge event will invoke.
When the data engineer tries to invoke the Lambda function by using an EventBridge event, an AccessDeniedException message appears. How should the data engineer resolve the exception?

  1. Ensure that the trust policy of the Lambda function execution role allows EventBridge to assume the execution role.
  2. Ensure that both the IAM role that EventBridge uses and the Lambda function's resource-based policy have the necessary permissions.
  3. Ensure that the subnet where the Lambda function is deployed is configured to be a private subnet.
  4. Ensure that EventBridge schemas are valid and that the event mapping configuration is correct.

Answer(s): B

Explanation:

The AccessDeniedException when invoking a Lambda function via EventBridge signifies a permission issue.
Two key areas govern these permissions: the IAM role EventBridge uses and the Lambda function's resource-based policy.
Option B directly addresses this. The IAM role used by EventBridge needs permission to invoke the Lambda function. This is usually done through an IAM policy attached to the EventBridge role that grants lambda:InvokeFunction permission on the specific Lambda function resource or a wildcard.
The Lambda function's resource-based policy also plays a critical role. This policy defines who can invoke the function. EventBridge must be explicitly allowed to invoke the function through this resource-based policy. This ensures that the Lambda function trusts EventBridge as a valid invoker. Without this, even if EventBridge's IAM role has invoke permissions, the Lambda function itself will deny the request.
Option A only addresses one side of the equation: the Lambda function's execution role's trust policy.
While the execution role does need a trust policy allowing AWS services like Lambda to assume it, the EventBridge service needs permission to invoke the function in the first place. EventBridge isn't assuming the Lambda execution role, it's invoking the function.
Option C is irrelevant.
Whether the Lambda function is in a private or public subnet impacts its network connectivity but doesn't relate to invocation permissions granted by IAM or the Lambda function policy.
Option D focuses on the event structure and schema validation.
While schema validation is important for data integrity, it does not directly address the AccessDeniedException . This exception indicates a problem with authorization, not data validation. Even if the event schema is valid, if EventBridge lacks the correct permissions, the invocation will fail with an AccessDeniedException .
Therefore, option B is the most comprehensive and correct approach because it ensures that both EventBridge has permission to invoke the Lambda function and the Lambda function trusts EventBridge's invocation request, resolving the AccessDeniedException.
For further research, refer to the AWS documentation on Lambda permissions and EventBridge integration:
AWS Lambda Permissions: https://docs.aws.amazon.com/lambda/latest/dg/invocation-permissions.html Using AWS Lambda with Amazon EventBridge: https://docs.aws.amazon.com/eventbridge/latest/userguide/put-events-to-lambda.html



A company uses a data lake that is based on an Amazon S3 bucket. To comply with regulations, the company must apply two layers of server-side encryption to files that are uploaded to the S3 bucket. The company wants to use an AWS Lambda function to apply the necessary encryption.
Which solution will meet these requirements?

  1. Use both server-side encryption with AWS KMS keys (SSE-KMS) and the Amazon S3 Encryption Client.
  2. Use dual-layer server-side encryption with AWS KMS keys (DSSE-KMS).
  3. Use server-side encryption with customer-provided keys (SSE-C) before files are uploaded.
  4. Use server-side encryption with AWS KMS keys (SSE-KMS).

Answer(s): B

Explanation:

The correct answer is B. Use dual-layer server-side encryption with AWS KMS keys (DSSE-KMS).
Here's a detailed justification:
The requirement is to apply two layers of server-side encryption. This implies a need for a mechanism that encrypts the data twice at the server level. Option B, DSSE-KMS, directly addresses this requirement. DSSE-KMS is specifically designed to provide dual-layer encryption using AWS Key Management Service (KMS) keys. It encrypts the data twice with two different keys managed by KMS, enhancing security beyond single-layer encryption.
Option A, while involving KMS encryption, doesn't inherently provide two layers of encryption using a single AWS mechanism. Using the S3 Encryption Client alongside SSE-KMS would require custom implementation and management, adding complexity and potentially introducing vulnerabilities if not implemented correctly.
While the S3 Encryption Client is useful, it's not the most straightforward way to fulfill a dual-layer requirement.
Option C, SSE-C, requires the company to manage the encryption keys. This contradicts the use of an AWS Lambda function for encryption, as the Lambda function would need to be provisioned with the customer-provided keys. This also introduces a significant key management burden on the company. Moreover, it only provides one layer of encryption.
Option D, SSE-KMS, provides only a single layer of encryption. It doesn't satisfy the requirement of two layers of server-side encryption.
Therefore, DSSE-KMS provides a built-in, managed, and efficient way to apply two layers of server-side encryption with KMS, fulfilling the regulatory requirements without added complexity. It centralizes key management with KMS and offers enhanced security.
Further Research:
DSSE-KMS Documentation: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html (Look for the Dual-Layer Server-Side Encryption with KMS keys (DSSE-KMS) section.) AWS KMS: https://aws.amazon.com/kms/ Amazon S3 Encryption: https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html



A data engineer notices that Amazon Athena queries are held in a queue before the queries run. How can the data engineer prevent the queries from queueing?

  1. Increase the query result limit.
  2. Configure provisioned capacity for an existing workgroup.
  3. Use federated queries.
  4. Allow users who run the Athena queries to an existing workgroup.

Answer(s): B

Explanation:

The correct answer is B. Configure provisioned capacity for an existing workgroup.
Athena queries queue when there are insufficient resources to execute them immediately. This typically happens when the workgroup's capacity to handle concurrent queries is exceeded. Athena uses data source connectors to analyze data, and each query needs resources like compute power to run.
Option B directly addresses this issue. By configuring provisioned capacity for a workgroup, you are reserving a specific amount of Data Processing Units (DPUs) exclusively for that workgroup. This ensures that a defined amount of resources are always available to execute the queries submitted to the workgroup, thus minimizing queuing. Provisioning capacity allows you to control and pay for a predictable amount of processing power.
Option A, increasing the query result limit, only affects the amount of data returned by a query, not the resource availability for executing it. Option C, using federated queries, might introduce new queuing challenges if the federated data sources are overloaded. Option D, allowing more users to an existing workgroup, would likely exacerbate the queuing problem if there aren't enough resources to begin with. More users submitting queries to a workgroup with limited capacity could lead to longer wait times. Configuring provisioned capacity is the most direct method to reduce queuing by increasing the processing power available for queries within the workgroup. This ensures that Athena can immediately execute incoming requests without delay.
Refer to the official AWS documentation for more details on provisioned capacity and workgroups: https://docs.aws.amazon.com/athena/latest/ug/manage-queries-workgroups-console.html and https://aws.amazon.com/blogs/big-data/optimize-amazon-athena-cost-and-performance-with-provisioned-dpus/



A data engineer needs to debug an AWS Glue job that reads from Amazon S3 and writes to Amazon Redshift. The data engineer enabled the bookmark feature for the AWS Glue job. The data engineer has set the maximum concurrency for the AWS Glue job to 1. The AWS Glue job is successfully writing the output to Amazon Redshift. However, the Amazon S3 files that were loaded during previous runs of the AWS Glue job are being reprocessed by subsequent runs.
What is the likely reason the AWS Glue job is reprocessing the files?

  1. The AWS Glue job does not have the s3:GetObjectAcl permission that is required for bookmarks to work correctly.
  2. The maximum concurrency for the AWS Glue job is set to 1.
  3. The data engineer incorrectly specified an older version of AWS Glue for the Glue job.
  4. The AWS Glue job does not have a required commit statement.

Answer(s): D

Explanation:

Here's a detailed justification for why option D is the most likely reason for the AWS Glue job reprocessing files, focusing on the bookmark feature and its requirements:
Option D: The AWS Glue job does not have a required commit statement.
The core concept here is that AWS Glue bookmarks track processed data for incremental data loading. Bookmarks prevent reprocessing of data, but they rely on the job properly committing its progress. Without a commit, Glue can't reliably record which files were processed during a specific run. Essentially, the bookmark isn't updated correctly, causing subsequent job runs to start from the beginning, reprocessing all files.
Here's a breakdown:
1. AWS Glue Bookmarks: Bookmarks enable Glue jobs to process only new or updated data in a source dataset, such as files in S3. This prevents reprocessing of already processed data.
2. Commit Mechanism: Bookmarks work by tracking the last processed state. However, merely processing the data isn't enough; the Glue job must explicitly commit its progress to update the bookmark. This involves signaling to Glue that the data has been successfully written to the target (Redshift, in this case) and that the bookmark should be updated to reflect the new state.
3. Absence of Commit: If the job doesn't contain the necessary commit logic (often through calls to commit operations within the DynamicFrame or DataFrame write operations), Glue can't save the last processed state. Consequently, on the next run, it assumes no data has been processed and starts over.
4. Impact on Reprocessing: This lack of commit is the root cause of the described problem. Even though the job is writing to Redshift, Glue doesn't know which data was successfully written unless a commit updates the bookmark.
5. Illustrative Example: Imagine a database transaction. Data is manipulated, but it is only permanently saved after a COMMIT statement. Similarly, in Glue, the data is processed and written, but the
'transaction' is not finalized in bookmark terms without an explicit 'commit'.
6. Concurrency and Permissions (Options A & B): While concurrency and permissions can affect job behavior, they are not directly related to the bookmark feature failing to prevent reprocessing. The concurrency being set to 1 eliminates the chance of concurrent tasks interfering with bookmark updates. s3:GetObjectAcl permission, while potentially important in other aspects, is not directly essential for bookmark functionality.
7. Glue Version (Option C): Using an older Glue version might present other problems, but it is less directly related to why a bookmark isn't preventing reprocessing if a commit mechanism is missing.
Therefore, the absence of a proper commit mechanism within the Glue job's code is the most probable reason for the observed reprocessing behavior.
Authoritative Links:
AWS Glue Bookmarks: https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html AWS Glue Programming Guide: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming.html



An ecommerce company wants to use AWS to migrate data pipelines from an on-premises environment into the AWS Cloud. The company currently uses a third-party tool in the on-premises environment to orchestrate data ingestion processes. The company wants a migration solution that does not require the company to manage servers. The solution must be able to orchestrate Python and Bash scripts. The solution must not require the company to refactor any code.
Which solution will meet these requirements with the LEAST operational overhead?

  1. AWS Lambda
  2. Amazon Managed Workflows for Apache Airflow (Amazon MVVAA)
  3. AWS Step Functions
  4. AWS Glue

Answer(s): B

Explanation:

The correct answer is B. Amazon Managed Workflows for Apache Airflow (Amazon MWAA) . Here's why:
Orchestration: The question highlights a requirement for orchestrating data ingestion processes, implying a workflow-driven need. Both Amazon MWAA and AWS Step Functions are workflow orchestration services. Python and Bash Script Support: MWAA excels at this. Apache Airflow is natively designed to handle Python scripts through its PythonOperator. It can also execute Bash scripts using the BashOperator. Serverless Nature: MWAA is a managed service, meaning AWS handles the underlying infrastructure, relieving the company of server management overhead, fulfilling a critical requirement. No Code Refactoring: Since the company already uses a third-party orchestration tool, migrating to Airflow (via MWAA) allows them to largely port existing workflows (DAGs) with minimal code changes, fulfilling the "no refactoring" constraint. Operational Overhead: MWAA's managed nature drastically reduces operational overhead compared to alternatives that would require server management or significant code adaptations.
Here's why the other options are less suitable:

A: AWS Lambda: Lambda is designed for event-driven, short-running tasks.
While it can execute Python, it's not primarily designed for complex workflow orchestration like Airflow. It lacks built-in workflow management features.
C: AWS Step Functions: Step Functions is an orchestration service, but it primarily uses JSON-based state machine definitions. Executing arbitrary Python or Bash scripts directly within Step Functions requires workarounds (like invoking Lambda functions), increasing complexity and operational overhead.
D: AWS Glue: AWS Glue is a serverless data integration service focused on ETL.
While it provides some orchestration capabilities, it is primarily optimized for data transformation rather than general-purpose workflow management and script execution. Using Glue for script orchestration can be cumbersome.
Therefore, Amazon MWAA directly addresses all requirements: orchestration, Python/Bash script support, serverless operation, and minimal code refactoring, with the least operational overhead.
Authoritative Links:
Amazon MWAA: https://aws.amazon.com/managed-workflows-for-apache-airflow/ Apache Airflow: https://airflow.apache.org/



A retail company stores data from a product lifecycle management (PLM) application in an on-premises MySQL database. The PLM application frequently updates the database when transactions occur. The company wants to gather insights from the PLM application in near real time. The company wants to integrate the insights with other business datasets and to analyze the combined dataset by using an Amazon Redshift data warehouse. The company has already established an AWS Direct Connect connection between the on-premises infrastructure and AWS.
Which solution will meet these requirements with the LEAST development effort?

  1. Run a scheduled AWS Glue extract, transform, and load (ETL) job to get the MySQL database updates by using a Java Database Connectivity (JDBC) connection. Set Amazon Redshift as the destination for the ETL job.
  2. Run a full load plus CDC task in AWS Database Migration Service (AWS DMS) to continuously replicate the MySQL database changes. Set Amazon Redshift as the destination for the task.
  3. Use the Amazon AppFlow SDK to build a custom connector for the MySQL database to continuously replicate the database changes. Set Amazon Redshift as the destination for the connector.
  4. Run scheduled AWS DataSync tasks to synchronize data from the MySQL database. Set Amazon Redshift as the destination for the tasks.

Answer(s): B

Explanation:

The best solution for near real-time data integration from an on-premises MySQL database to Amazon Redshift with minimal development effort is B. Run a full load plus CDC task in AWS Database Migration Service (AWS DMS) to continuously replicate the MySQL database changes. Set Amazon Redshift as the destination for the task.
Here's a breakdown of why this option is superior:
AWS DMS Purpose-Built for Migration & Replication: AWS DMS is explicitly designed for database migration and continuous data replication. It streamlines the process of moving data from various source databases (like MySQL) to target databases (like Amazon Redshift). https://aws.amazon.com/dms/ Change Data Capture (CDC): DMS's CDC feature efficiently captures and applies incremental changes from the source database to the target in near real-time. This avoids full database dumps and reduces latency for data availability in Redshift. https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.html Minimal Development Effort: DMS provides a managed service where most configuration is done through the AWS console or API calls. It handles the complexities of data extraction, transformation (if needed), and loading, reducing the need for custom code. Direct Integration: DMS natively supports both MySQL as a source and Amazon Redshift as a target. This simplifies configuration and reduces the risk of compatibility issues. Full Load + CDC Approach: This strategy handles the initial bulk data load of existing data and then continuously replicates the subsequent changes to provide up-to-date data for analysis.
Let's contrast this with the other options:
Option A (AWS Glue ETL): While Glue can extract data, scheduling jobs might not provide the near real-time latency desired. It also involves more ETL coding compared to DMS's CDC functionality. Option C (Amazon AppFlow SDK): AppFlow is better suited for SaaS applications, and using its SDK to build a custom connector for MySQL would require significant development effort. Option D (AWS DataSync): DataSync is optimized for large-scale file transfers, not database replication. It would also necessitate a scheduled approach and would not easily capture incremental changes in near real time. It is also not designed to directly load into a Redshift data warehouse.
In summary, AWS DMS with full load plus CDC offers the most efficient and least development-intensive solution for continuously replicating data from the on-premises MySQL database to Amazon Redshift, fulfilling the requirements of near real-time insights and integration with other business datasets.



A marketing company uses Amazon S3 to store clickstream data. The company queries the data at the end of each day by using a SQL JOIN clause on S3 objects that are stored in separate buckets. The company creates key performance indicators (KPIs) based on the objects. The company needs a serverless solution that will give users the ability to query data by partitioning the data. The solution must maintain the atomicity, consistency, isolation, and durability (ACID) properties of the data.
Which solution will meet these requirements MOST cost-effectively?

  1. Amazon S3 Select
  2. Amazon Redshift Spectrum
  3. Amazon Athena
  4. Amazon EMR

Answer(s): C

Explanation:

The correct answer is C. Amazon Athena . Here's why:
Serverless: Athena is a serverless query service, meaning there are no servers to manage. This aligns with the requirement for a serverless solution. SQL Queries on S3: Athena allows users to execute SQL queries directly against data stored in Amazon S3. This directly addresses the company's need to query data at the end of each day. Data Partitioning: Athena supports data partitioning. Partitioning involves dividing the data into smaller, manageable parts based on a specific column or attribute (e.g., date). This significantly improves query performance because Athena only scans the relevant partitions rather than the entire dataset. Cost-Effectiveness: Athena is a pay-per-query service. You are charged based on the amount of data scanned during query execution. Since partitioning reduces the amount of data scanned, it leads to significant cost savings. ACID Properties: While Athena is not a fully ACID-compliant database, it provides mechanisms to maintain data consistency and atomicity for simple operations when used with data formats like Parquet and ORC which support schema evolution and partition pruning. Alternatives Analysis:
S3 Select (A): S3 Select allows you to retrieve subsets of data from S3 objects using SQL.
While it can reduce data transfer costs, it doesn't offer partitioning capabilities, and the features for joining data from multiple sources and creating complex queries are not as powerful as Athena. Redshift Spectrum (B): Redshift Spectrum also allows querying data in S3 using SQL. However, it's primarily designed for data warehousing and analytics at scale. Setting up and managing a Redshift cluster would be overkill and more expensive than Athena for this specific use case. Amazon EMR (D): EMR is a managed Hadoop framework.
While it could be used to process and query data in S3, it involves managing clusters, which goes against the serverless requirement and is more complex and costly than Athena.
Authoritative Links:
Amazon Athena: https://aws.amazon.com/athena/ Athena Partitioning: https://docs.aws.amazon.com/athena/latest/ug/partitions.html



A company wants to migrate data from an Amazon RDS for PostgreSQL DB instance in the eu-east-1 Region of an AWS account named Account_A. The company will migrate the data to an Amazon Redshift cluster in the eu-west-1 Region of an AWS account named Account_B.

Which solution will give AWS Database Migration Service (AWS DMS) the ability to replicate data between two data stores?

  1. Set up an AWS DMS replication instance in Account_B in eu-west-1.
  2. Set up an AWS DMS replication instance in Account_B in eu-east-1.
  3. Set up an AWS DMS replication instance in a new AWS account in eu-west-1.
  4. Set up an AWS DMS replication instance in Account_A in eu-east-1.

Answer(s): A

Explanation:

The correct answer is A: Set up an AWS DMS replication instance in Account_B in eu-west-1.
Here's why:
DMS Replication Instance Location: The DMS replication instance should be located as close as possible to the target database to minimize latency and network transfer costs. Since the target Redshift cluster is in Account_B in eu-west-1, the replication instance should be located in the same region and account. Cross-Account Access: AWS DMS needs appropriate IAM roles and security group configurations to access both the source (RDS PostgreSQL in Account_A, eu-east-1) and target (Redshift in Account_B, eu-west-1) databases. Setting up the instance in Account_B simplifies permission management for writing to the target. DMS Functionality: The replication instance handles data transformation and movement. It needs to be capable of connecting to both source and target, which is best achieved when it resides close to the target. Incorrect Options: Option B is wrong because the replication instance needs to be close to the target Redshift cluster, not the source RDS database. Placing it in eu-east-1 would incur higher latency and data transfer costs when writing to Redshift in eu-west-1. Option C, using a new AWS account, adds unnecessary complexity.
While feasible, it does not offer any specific advantage over using Account_B directly. In this case, more accounts equal more management overhead. Option D is wrong for the same reason as Option B. DMS should be close to the target.
Supporting documentation:
AWS DMS Best Practices : This documentation emphasizes the importance of replication instance placement and network considerations. AWS DMS Security : This describes the security and IAM roles requirements to use DMS. AWS DMS Cross-Account Replication : Provides info about how to configure cross-account AWS DMS.
The key takeaway is that the DMS replication instance's location should be optimized for accessing the target database to improve performance and minimize costs.



Viewing page 15 of 47
Viewing questions 113 - 120 out of 366 questions


Post your Comments and Discuss Amazon Amazon-DEA-C01 exam prep with other Community members:

AI Tutor AI Tutor 👋 I’m here to help!