{"id":1155,"date":"2025-05-27T10:49:49","date_gmt":"2025-05-27T03:49:49","guid":{"rendered":"https:\/\/thoaicoder.com\/?p=1155"},"modified":"2025-05-28T11:23:49","modified_gmt":"2025-05-28T04:23:49","slug":"create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes","status":"publish","type":"post","link":"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/","title":{"rendered":"Create a scheduler with AWS Lambda and Terraform in 5 minutes"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">1. Introduction<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Do you need to run a background task every few minutes \u2014 like syncing data, sending reports, or hitting an external API? AWS Lambda and EventBridge (formerly CloudWatch Events) offer a simple, serverless way to schedule jobs without managing servers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this article, I\u2019ll show you how to spin up a scheduled Lambda function using <strong>Terraform<\/strong> \u2014 all in under 5 minutes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. What We\u2019re Building<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We&#8217;ll use:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>AWS Lambda<\/strong> to execute your custom logic<\/li>\n\n\n\n<li><strong>EventBridge<\/strong> to define a time-based schedule<\/li>\n\n\n\n<li><strong>Terraform<\/strong> to provision everything as code<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The result: A serverless scheduler that you can easily deploy, update, and manage using infrastructure as code.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">3. Prerequisites<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before we start, make sure you have:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a>Terraform installed<\/a><\/li>\n\n\n\n<li>AWS CLI configured (<code>aws configure<\/code>)<\/li>\n\n\n\n<li>An IAM user with permissions for Lambda, IAM, and EventBridge<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. Let&#8217;s start<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 1: Write Terraform Code<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Create a new folder and add a file named <code>main.tf<\/code> with the following content:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-tangaroa-background-color has-text-color has-background has-link-color wp-elements-1\" style=\"padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--20)\"><code>provider \"aws\" {\n  region = \"us-east-1\"\n}\n\nresource \"aws_iam_role\" \"lambda_exec_role\" {\n  name = \"lambda_exec_role\"\n\n  assume_role_policy = jsonencode({\n    Version = \"2012-10-17\"\n    Statement = &#91;{\n      Action = \"sts:AssumeRole\"\n      Effect = \"Allow\"\n      Principal = {\n        Service = \"lambda.amazonaws.com\"\n      }\n    }]\n  })\n}\n\nresource \"aws_iam_role_policy_attachment\" \"lambda_basic_exec\" {\n  role       = aws_iam_role.lambda_exec_role.name\n  policy_arn = \"arn:aws:iam::aws:policy\/service-role\/AWSLambdaBasicExecutionRole\"\n}\n\nresource \"aws_lambda_function\" \"scheduler_lambda\" {\n  function_name = \"scheduler-lambda\"\n  role          = aws_iam_role.lambda_exec_role.arn\n  handler       = \"lambda_function.lambda_handler\"\n  runtime       = \"python3.12\"\n  filename      = \"lambda.zip\"\n  source_code_hash = filebase64sha256(\"lambda.zip\")\n}\n\nresource \"aws_cloudwatch_event_rule\" \"every_5_minutes\" {\n  name                = \"every-5-minutes\"\n  schedule_expression = \"rate(5 minutes)\"\n}\n\nresource \"aws_cloudwatch_event_target\" \"lambda_target\" {\n  rule      = aws_cloudwatch_event_rule.every_5_minutes.name\n  target_id = \"lambda\"\n  arn       = aws_lambda_function.scheduler_lambda.arn\n}\n\nresource \"aws_lambda_permission\" \"allow_eventbridge\" {\n  statement_id  = \"AllowExecutionFromEventBridge\"\n  action        = \"lambda:InvokeFunction\"\n  function_name = aws_lambda_function.scheduler_lambda.function_name\n  principal     = \"events.amazonaws.com\"\n  source_arn    = aws_cloudwatch_event_rule.every_5_minutes.arn\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 2: Create Your Lambda Function<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the same folder, create a Python file named <code>lambda_function.py<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-tangaroa-background-color has-text-color has-background has-link-color wp-elements-2\" style=\"padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--20)\"><code>def lambda_handler(event, context):\n    print(\"Scheduled Lambda triggered!\")<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then zip it:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-tangaroa-background-color has-text-color has-background has-link-color wp-elements-3\" style=\"padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--20)\"><code>zip lambda.zip lambda_function.py<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 3: Deploy with Terraform<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Run the following commands to provision everything:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-tangaroa-background-color has-text-color has-background has-link-color wp-elements-4\" style=\"padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--20)\"><code>terraform init\nterraform apply -auto-approve\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Terraform will:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create an IAM role<\/li>\n\n\n\n<li>Deploy your Lambda<\/li>\n\n\n\n<li>Set up an EventBridge rule to trigger it every 5 minutes<\/li>\n\n\n\n<li>Give EventBridge permission to invoke your Lambda<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">5. Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In just a few minutes, you now have a scheduled Lambda running every 5 minutes \u2014 and you didn\u2019t have to touch the AWS Console at all:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>No EC2 instances<\/strong> to manage<\/li>\n\n\n\n<li><strong>No cron job servers<\/strong> to maintain<\/li>\n\n\n\n<li><strong>Scalable and cost-effective<\/strong> (you only pay when Lambda runs)<\/li>\n\n\n\n<li><strong>Infrastructure-as-Code<\/strong> makes it version-controlled and replicable<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">You can verify it by checking <strong>CloudWatch Logs<\/strong> in the AWS Console to see the function being invoked. The source code can be found <a href=\"https:\/\/github.com\/ThoaiNguyenHuu842\/aws_lambda_with_terra_form\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Introduction Do you need to run a background task every few minutes \u2014 like [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1158,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,59],"tags":[60,22,61],"class_list":["post-1155","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ci-cd","category-cloud-computing","tag-aws","tag-micro-services","tag-serverless"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.14 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Create a scheduler with AWS Lambda and Terraform in 5 minutes - I \u2764 Code<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Create a scheduler with AWS Lambda and Terraform in 5 minutes - I \u2764 Code\" \/>\n<meta property=\"og:description\" content=\"1. Introduction Do you need to run a background task every few minutes \u2014 like [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/\" \/>\n<meta property=\"og:site_name\" content=\"I \u2764 Code\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-27T03:49:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-28T04:23:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thoaicoder.com\/wp-content\/uploads\/2025\/05\/2023_12_6_638374673960680557_aws-lambda-1-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"750\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Thoai\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thoai\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/\"},\"author\":{\"name\":\"Thoai\",\"@id\":\"https:\/\/thoaicoder.com\/#\/schema\/person\/a3304c209434f63c501b05622d7d2720\"},\"headline\":\"Create a scheduler with AWS Lambda and Terraform in 5 minutes\",\"datePublished\":\"2025-05-27T03:49:49+00:00\",\"dateModified\":\"2025-05-28T04:23:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/\"},\"wordCount\":287,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/thoaicoder.com\/#\/schema\/person\/a3304c209434f63c501b05622d7d2720\"},\"keywords\":[\"AWS\",\"Micro-services\",\"Serverless\"],\"articleSection\":[\"CI\/CD\",\"Cloud computing\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/\",\"url\":\"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/\",\"name\":\"Create a scheduler with AWS Lambda and Terraform in 5 minutes - I \u2764 Code\",\"isPartOf\":{\"@id\":\"https:\/\/thoaicoder.com\/#website\"},\"datePublished\":\"2025-05-27T03:49:49+00:00\",\"dateModified\":\"2025-05-28T04:23:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/thoaicoder.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a scheduler with AWS Lambda and Terraform in 5 minutes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/thoaicoder.com\/#website\",\"url\":\"https:\/\/thoaicoder.com\/\",\"name\":\"I \u2764 Code\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/thoaicoder.com\/#\/schema\/person\/a3304c209434f63c501b05622d7d2720\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/thoaicoder.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/thoaicoder.com\/#\/schema\/person\/a3304c209434f63c501b05622d7d2720\",\"name\":\"Thoai\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/thoaicoder.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/thoaicoder.com\/wp-content\/uploads\/2023\/03\/photo_2023-01-05_22-53-32.jpg\",\"contentUrl\":\"https:\/\/thoaicoder.com\/wp-content\/uploads\/2023\/03\/photo_2023-01-05_22-53-32.jpg\",\"width\":640,\"height\":640,\"caption\":\"Thoai\"},\"logo\":{\"@id\":\"https:\/\/thoaicoder.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/thoaicoder.com\",\"https:\/\/www.linkedin.com\/in\/huu-thoai-nguyen\/\"],\"url\":\"https:\/\/thoaicoder.com\/index.php\/author\/admin_cvyxq4b8\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Create a scheduler with AWS Lambda and Terraform in 5 minutes - I \u2764 Code","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/","og_locale":"en_US","og_type":"article","og_title":"Create a scheduler with AWS Lambda and Terraform in 5 minutes - I \u2764 Code","og_description":"1. Introduction Do you need to run a background task every few minutes \u2014 like [&hellip;]","og_url":"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/","og_site_name":"I \u2764 Code","article_published_time":"2025-05-27T03:49:49+00:00","article_modified_time":"2025-05-28T04:23:49+00:00","og_image":[{"width":750,"height":500,"url":"https:\/\/thoaicoder.com\/wp-content\/uploads\/2025\/05\/2023_12_6_638374673960680557_aws-lambda-1-1.jpg","type":"image\/jpeg"}],"author":"Thoai","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Thoai","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/#article","isPartOf":{"@id":"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/"},"author":{"name":"Thoai","@id":"https:\/\/thoaicoder.com\/#\/schema\/person\/a3304c209434f63c501b05622d7d2720"},"headline":"Create a scheduler with AWS Lambda and Terraform in 5 minutes","datePublished":"2025-05-27T03:49:49+00:00","dateModified":"2025-05-28T04:23:49+00:00","mainEntityOfPage":{"@id":"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/"},"wordCount":287,"commentCount":0,"publisher":{"@id":"https:\/\/thoaicoder.com\/#\/schema\/person\/a3304c209434f63c501b05622d7d2720"},"keywords":["AWS","Micro-services","Serverless"],"articleSection":["CI\/CD","Cloud computing"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/","url":"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/","name":"Create a scheduler with AWS Lambda and Terraform in 5 minutes - I \u2764 Code","isPartOf":{"@id":"https:\/\/thoaicoder.com\/#website"},"datePublished":"2025-05-27T03:49:49+00:00","dateModified":"2025-05-28T04:23:49+00:00","breadcrumb":{"@id":"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/thoaicoder.com\/index.php\/2025\/05\/27\/create-a-scheduler-with-aws-lambda-and-terra-form-in-5-minutes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thoaicoder.com\/"},{"@type":"ListItem","position":2,"name":"Create a scheduler with AWS Lambda and Terraform in 5 minutes"}]},{"@type":"WebSite","@id":"https:\/\/thoaicoder.com\/#website","url":"https:\/\/thoaicoder.com\/","name":"I \u2764 Code","description":"","publisher":{"@id":"https:\/\/thoaicoder.com\/#\/schema\/person\/a3304c209434f63c501b05622d7d2720"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thoaicoder.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/thoaicoder.com\/#\/schema\/person\/a3304c209434f63c501b05622d7d2720","name":"Thoai","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/thoaicoder.com\/#\/schema\/person\/image\/","url":"https:\/\/thoaicoder.com\/wp-content\/uploads\/2023\/03\/photo_2023-01-05_22-53-32.jpg","contentUrl":"https:\/\/thoaicoder.com\/wp-content\/uploads\/2023\/03\/photo_2023-01-05_22-53-32.jpg","width":640,"height":640,"caption":"Thoai"},"logo":{"@id":"https:\/\/thoaicoder.com\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/thoaicoder.com","https:\/\/www.linkedin.com\/in\/huu-thoai-nguyen\/"],"url":"https:\/\/thoaicoder.com\/index.php\/author\/admin_cvyxq4b8\/"}]}},"_links":{"self":[{"href":"https:\/\/thoaicoder.com\/index.php\/wp-json\/wp\/v2\/posts\/1155","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thoaicoder.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thoaicoder.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thoaicoder.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thoaicoder.com\/index.php\/wp-json\/wp\/v2\/comments?post=1155"}],"version-history":[{"count":4,"href":"https:\/\/thoaicoder.com\/index.php\/wp-json\/wp\/v2\/posts\/1155\/revisions"}],"predecessor-version":[{"id":1169,"href":"https:\/\/thoaicoder.com\/index.php\/wp-json\/wp\/v2\/posts\/1155\/revisions\/1169"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thoaicoder.com\/index.php\/wp-json\/wp\/v2\/media\/1158"}],"wp:attachment":[{"href":"https:\/\/thoaicoder.com\/index.php\/wp-json\/wp\/v2\/media?parent=1155"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thoaicoder.com\/index.php\/wp-json\/wp\/v2\/categories?post=1155"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thoaicoder.com\/index.php\/wp-json\/wp\/v2\/tags?post=1155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}