<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: codeisgood</title>
    <description>The latest articles on DEV Community by codeisgood (@codeisgood).</description>
    <link>https://dev.to/codeisgood</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F722474%2Fb1c9b340-b3ab-401c-9070-08fba3d481b8.png</url>
      <title>DEV Community: codeisgood</title>
      <link>https://dev.to/codeisgood</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/codeisgood"/>
    <language>en</language>
    <item>
      <title>Invoking an AWS Lambda Function with Terraform</title>
      <dc:creator>codeisgood</dc:creator>
      <pubDate>Wed, 24 Apr 2024 04:56:35 +0000</pubDate>
      <link>https://dev.to/codeisgood/invoking-an-aws-lambda-function-with-terraform-3nl7</link>
      <guid>https://dev.to/codeisgood/invoking-an-aws-lambda-function-with-terraform-3nl7</guid>
      <description>

&lt;h1&gt;
  
  
  Invoking an AWS Lambda Function with Terraform
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;AWS Lambda is a serverless compute service that allows you to run code without provisioning or managing servers. Terraform, on the other hand, is an infrastructure-as-code (IaC) tool that enables you to define and provision cloud resources in a declarative manner. In this article, we'll explore how to create an AWS Lambda function using Terraform and set up automatic invocations whenever a &lt;code&gt;terraform apply&lt;/code&gt; command is executed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;Before we begin, ensure that you have the following prerequisites:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;An AWS account with appropriate permissions to create Lambda functions and IAM roles.&lt;/li&gt;
&lt;li&gt;Terraform installed on your local machine.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Terraform Code
&lt;/h2&gt;

&lt;p&gt;Below is an example of Terraform code that achieves our goal. We'll create an AWS Lambda function, an IAM role for the function, and configure a CloudWatch Events rule to trigger the Lambda function on every &lt;code&gt;terraform apply&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight hcl"&gt;&lt;code&gt;&lt;span class="nx"&gt;provider&lt;/span&gt; &lt;span class="s2"&gt;"aws"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;region&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"us-west-2"&lt;/span&gt;  &lt;span class="c1"&gt;# Replace with your desired AWS region&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;# Create an AWS Lambda function&lt;/span&gt;
&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_lambda_function"&lt;/span&gt; &lt;span class="s2"&gt;"my_lambda_function"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;function_name&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"my-lambda-function"&lt;/span&gt;
  &lt;span class="nx"&gt;role&lt;/span&gt;          &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;aws_iam_role&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;my_lambda_role&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;arn&lt;/span&gt;
  &lt;span class="nx"&gt;handler&lt;/span&gt;       &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"index.handler"&lt;/span&gt;
  &lt;span class="nx"&gt;runtime&lt;/span&gt;       &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"python3.8"&lt;/span&gt;
  &lt;span class="nx"&gt;filename&lt;/span&gt;      &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"lambda_function.zip"&lt;/span&gt;  &lt;span class="c1"&gt;# Replace with the actual path to your Lambda code ZIP file&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;# Create an IAM role for the Lambda function&lt;/span&gt;
&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_iam_role"&lt;/span&gt; &lt;span class="s2"&gt;"my_lambda_role"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"my-lambda-role"&lt;/span&gt;

  &lt;span class="nx"&gt;assume_role_policy&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;jsonencode&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="nx"&gt;Version&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"2012-10-17"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;Statement&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;Action&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"sts:AssumeRole"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="nx"&gt;Effect&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"Allow"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="nx"&gt;Principal&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="nx"&gt;Service&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"lambda.amazonaws.com"&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;]&lt;/span&gt;
  &lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;# Attach a policy to the Lambda role (e.g., permissions to log to CloudWatch)&lt;/span&gt;
&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_iam_policy_attachment"&lt;/span&gt; &lt;span class="s2"&gt;"my_lambda_policy_attachment"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;policy_arn&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"&lt;/span&gt;  &lt;span class="c1"&gt;# Replace with your desired policy ARN&lt;/span&gt;
  &lt;span class="nx"&gt;roles&lt;/span&gt;      &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;aws_iam_role&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;my_lambda_role&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;# Create a CloudWatch Events rule to trigger the Lambda function on every `terraform apply`&lt;/span&gt;
&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_cloudwatch_event_rule"&lt;/span&gt; &lt;span class="s2"&gt;"my_lambda_trigger"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;name&lt;/span&gt;        &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"my-lambda-trigger"&lt;/span&gt;
  &lt;span class="nx"&gt;description&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"Trigger Lambda on Terraform apply"&lt;/span&gt;
  &lt;span class="nx"&gt;event_pattern&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;jsonencode&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="nx"&gt;source&lt;/span&gt;      &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"aws.terraform"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="nx"&gt;detail_type&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"Terraform Apply"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
  &lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;# Create a CloudWatch Events target to invoke the Lambda function&lt;/span&gt;
&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_cloudwatch_event_target"&lt;/span&gt; &lt;span class="s2"&gt;"my_lambda_target"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;rule&lt;/span&gt;      &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;aws_cloudwatch_event_rule&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;my_lambda_trigger&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;
  &lt;span class="nx"&gt;arn&lt;/span&gt;       &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;aws_lambda_function&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;my_lambda_function&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;arn&lt;/span&gt;
  &lt;span class="nx"&gt;target_id&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"my-lambda-target"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;By following the steps above, you can create an AWS Lambda function using Terraform and ensure that it is automatically invoked whenever you apply changes to your infrastructure. Remember to replace the placeholders with your actual values, and happy coding!&lt;/p&gt;




</description>
      <category>terraform</category>
      <category>lambda</category>
    </item>
    <item>
      <title>DynamoDB Scan with sort</title>
      <dc:creator>codeisgood</dc:creator>
      <pubDate>Fri, 12 Jan 2024 02:16:01 +0000</pubDate>
      <link>https://dev.to/codeisgood/dynamodb-scan-with-sort-3m66</link>
      <guid>https://dev.to/codeisgood/dynamodb-scan-with-sort-3m66</guid>
      <description>&lt;p&gt;To query and retrieve 100 records from DynamoDB and order them by a sort key column in Node.js, you can use the AWS SDK for JavaScript. Make sure you have the AWS SDK installed and configured. Here's an example code snippet:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const AWS = require('aws-sdk');

AWS.config.update({
  region: 'your-dynamodb-region', // Replace with your DynamoDB region
  accessKeyId: 'your-access-key-id', // Replace with your AWS access key ID
  secretAccessKey: 'your-secret-access-key', // Replace with your AWS secret access key
});

const dynamoDB = new AWS.DynamoDB.DocumentClient();
const tableName = 'your-dynamodb-table-name'; // Replace with your DynamoDB table name
const sortKeyColumn = 'your-sort-key-column'; // Replace with your sort key column name

const params = {
  TableName: tableName,
  Limit: 100,
  ScanIndexForward: true, // Set to false for descending order
  KeyConditionExpression: '#sk &amp;gt; :sk', // Replace &amp;gt; with &amp;lt; for descending order
  ExpressionAttributeNames: {
    '#sk': sortKeyColumn,
  },
  ExpressionAttributeValues: {
    ':sk': '0', // Replace with your start key value
  },
};

dynamoDB.query(params, (err, data) =&amp;gt; {
  if (err) {
    console.error('Error querying DynamoDB:', err);
  } else {
    console.log('Queried records:', data.Items);
  }
});

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Leveraging AWS Athena in Lambda Functions for Serverless Data Analysis</title>
      <dc:creator>codeisgood</dc:creator>
      <pubDate>Sun, 01 Oct 2023 20:49:25 +0000</pubDate>
      <link>https://dev.to/codeisgood/aws-lambda-athena-1lea</link>
      <guid>https://dev.to/codeisgood/aws-lambda-athena-1lea</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Introduction:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;As a software professional working with AWS services, you're likely familiar with the benefits of serverless computing. AWS Lambda allows you to run code without provisioning or managing servers, making it an ideal choice for various tasks, including data processing and analysis. When combined with AWS Athena, a serverless query service, you can unlock the power of on-demand, SQL-based analytics on your data stored in Amazon S3. In this write-up, we'll explore how to use AWS Athena within Lambda functions for efficient and cost-effective data analysis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why AWS Athena and Lambda?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Serverless Architecture: Lambda and Athena both follow a serverless architecture, meaning you don't need to worry about infrastructure management. This enables you to focus solely on your code and analysis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scalability:&lt;/strong&gt; Lambda scales automatically to handle any volume of incoming events or data. Athena is designed for parallel processing, ensuring speedy query execution even on large datasets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost-Efficiency:&lt;/strong&gt; You pay only for the compute resources used during query execution in Athena and the actual runtime of your Lambda function. There are no upfront costs or idle resources.&lt;/p&gt;

&lt;p&gt;Steps to Implement Athena in Lambda:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data Preparation:&lt;/strong&gt; Before querying data in Athena, ensure your datasets are properly structured in Amazon S3. Athena supports various file formats, including Parquet, ORC, and JSON.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IAM Roles:&lt;/strong&gt; Create an IAM role that allows your Lambda function to access both Athena and the S3 buckets where your data resides. This role should have appropriate permissions to run queries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lambda Function:&lt;/strong&gt; Write a Lambda function in your preferred programming language (e.g., Java since you work with Java technologies). This function should use the AWS SDK to interact with Athena.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Query Execution:&lt;/strong&gt; Inside your Lambda function, you can use the Athena SDK to run SQL queries against your S3 data. You can pass parameters and retrieve query results programmatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Response Handling:&lt;/strong&gt; Process and analyze the results within your Lambda function. You can transform the data, perform calculations, and generate insights as needed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Error Handling:&lt;/strong&gt; Implement robust error handling to ensure your Lambda function gracefully handles issues like query failures or network problems.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Use Cases:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Real-time Data Analysis:&lt;/strong&gt; Trigger Lambda functions in response to events, such as new data arriving in S3 buckets. Use Athena to perform real-time analysis on this data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Historical Data Exploration:&lt;/strong&gt; Given your interest in history and fact-finding, you can use Athena to query historical data sets stored in S3 and generate insights or reports.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Automated Reporting:&lt;/strong&gt; Schedule Lambda functions to run Athena queries at specific intervals and generate automated reports or dashboards.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusion:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Combining AWS Athena and Lambda provides a serverless, scalable, and cost-effective solution for data analysis. As a software professional leading a technical team, you can leverage this integration to drive data-driven decisions, whether it's for real-time analytics, historical exploration, or automated reporting. By harnessing the power of these AWS services, you can streamline your data analysis workflows and focus on extracting valuable insights from your data.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const AWS = require('aws-sdk');

async function submitQuery(query) {
  const client = new AWS.Athena();

  const params = {
    QueryString: query,
  };

  const response = await client.startQueryExecution(params).promise();

  return response.QueryExecutionId;
}

async function checkQueryStatus(queryId) {
  const client = new AWS.Athena();

  const params = {
    QueryExecutionId: queryId,
  };

  const response = await client.getQueryExecution(params).promise();

  return response.QueryExecution.Status.State;
}

async function fetchQueryResult(queryId) {
  const client = new AWS.Athena();

  const params = {
    QueryExecutionId: queryId,
  };

  const response = await client.getQueryResults(params).promise();

  return response.ResultSet.Rows;
}

async function main(event, context) {
  const query = event.query;

  // Submit the query
  const queryId = await submitQuery(query);

  // Check the status of the query until it is completed
  let status = 'pending';
  while (status !== 'completed') {
    await new Promise((resolve) =&amp;gt; setTimeout(resolve, 1000));
    status = await checkQueryStatus(queryId);
  }

  // Fetch the result of the query
  const result = await fetchQueryResult(queryId);

  // Return the result to the caller
  return result;
}

exports.handler = main;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>athena</category>
      <category>lambda</category>
      <category>aws</category>
      <category>node</category>
    </item>
    <item>
      <title>Create API Gateway with Step Function Integration</title>
      <dc:creator>codeisgood</dc:creator>
      <pubDate>Tue, 21 Mar 2023 01:56:31 +0000</pubDate>
      <link>https://dev.to/codeisgood/create-api-gateway-with-step-function-integration-2cam</link>
      <guid>https://dev.to/codeisgood/create-api-gateway-with-step-function-integration-2cam</guid>
      <description>&lt;p&gt;Often we need to integrate Lambda with API Gateway which is a very popular pattern, however as we think about asynchronous processing we need to integrate Step Functions (which will have a chain of actions) with API gateway. &lt;/p&gt;

&lt;p&gt;Below is a simple terraform example of how to create an API Gateway with Step Function Integration&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;provider "aws" {
  region = "us-east-1"
}

resource "aws_api_gateway_rest_api" "example_api" {
  name = "example_api"
}

resource "aws_api_gateway_resource" "example_resource" {
  rest_api_id = aws_api_gateway_rest_api.example_api.id
  parent_id   = aws_api_gateway_rest_api.example_api.root_resource_id
  path_part   = "example"
}

resource "aws_api_gateway_method" "example_method" {
  rest_api_id   = aws_api_gateway_rest_api.example_api.id
  resource_id   = aws_api_gateway_resource.example_resource.id
  http_method   = "POST"
  authorization = "NONE"
}

resource "aws_api_gateway_integration" "example_integration_step_function" {
  rest_api_id = aws_api_gateway_rest_api.example_api.id
  resource_id = aws_api_gateway_resource.example_resource.id
  http_method = aws_api_gateway_method.example_method.http_method
  integration_http_method = "POST"
  type = "AWS"

  uri = aws_sfn_state_machine.example_step_function.execution_arn
}

resource "aws_sfn_state_machine" "example_step_function" {
  name = "example_step_function"
  definition = &amp;lt;&amp;lt;EOF
{
  "Comment": "A simple AWS Step Functions state machine",
  "StartAt": "FirstState",
  "States": {
    "FirstState": {
      "Type": "Pass",
      "Result": "Hello, world!",
      "End": true
    }
  }
}
EOF
}

resource "aws_api_gateway_deployment" "example_deployment" {
  depends_on = [
    aws_api_gateway_integration.example_integration_step_function
  ]

  rest_api_id = aws_api_gateway_rest_api.example_api.id
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "states:StartExecution"
            ],
            "Resource": [
                "arn:aws:states:&amp;lt;REGION&amp;gt;:&amp;lt;ACCOUNT_ID&amp;gt;:stateMachine:&amp;lt;STATE_MACHINE_NAME&amp;gt;"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:&amp;lt;REGION&amp;gt;:&amp;lt;ACCOUNT_ID&amp;gt;:log-group:/aws/lambda/&amp;lt;LAMBDA_FUNCTION_NAME&amp;gt;:*"
            ]
        }
    ]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>api</category>
      <category>stepfunction</category>
      <category>terraform</category>
    </item>
  </channel>
</rss>
