Software engineer and technology nerd.
Here are some of my recent blog posts:
Use terraform to quickly setup your own Short URL generator using a custom domain with AWS API Gateway, CloudFront, Lambda, Route 53 and S3.
Software engineer and technology nerd.
Here are some of my recent blog posts:
Thank you for the great example. I've noticed that here you are using:
source_code_hash = "${data.archive_file.create_shorturl.output_base64sha256}"
and I believe it should be:
source_code_hash = "${data.archive_file.apply_security_headers.output_base64sha256}"
Environment:
macOS 10.15.1
~/S/r/aws-lambda-short-url โฏโฏโฏ terraform version
Terraform v0.12.16
+ provider.archive v1.3.0
+ provider.aws v2.40.0
Output:
aws_lambda_permission.short_url_lambda_permssion_apply_security_headers_edgelambda: Still creating... [10s elapsed]
aws_lambda_permission.short_url_lambda_permssion_apply_security_headers_lambda: Still creating... [10s elapsed]
aws_lambda_permission.short_url_lambda_permssion_apply_security_headers_edgelambda: Still creating... [20s elapsed]
aws_lambda_permission.short_url_lambda_permssion_apply_security_headers_lambda: Still creating... [20s elapsed]
aws_lambda_permission.short_url_lambda_permssion_apply_security_headers_lambda: Still creating... [30s elapsed]
aws_lambda_permission.short_url_lambda_permssion_apply_security_headers_edgelambda: Still creating... [30s elapsed]
aws_lambda_permission.short_url_lambda_permssion_apply_security_headers_lambda: Still creating... [40s elapsed]
aws_lambda_permission.short_url_lambda_permssion_apply_security_headers_edgelambda: Still creating... [40s elapsed]
aws_lambda_permission.short_url_lambda_permssion_apply_security_headers_lambda: Still creating... [50s elapsed]
aws_lambda_permission.short_url_lambda_permssion_apply_security_headers_edgelambda: Still creating... [50s elapsed]
aws_lambda_permission.short_url_lambda_permssion_apply_security_headers_edgelambda: Still creating... [1m0s elapsed]
aws_lambda_permission.short_url_lambda_permssion_apply_security_headers_edgelambda: Still creating... [1m10s elapsed]
aws_lambda_permission.short_url_lambda_permssion_apply_security_headers_edgelambda: Still creating... [1m20s elapsed]
aws_lambda_permission.short_url_lambda_permssion_apply_security_headers_edgelambda: Still creating... [1m30s elapsed]
aws_lambda_permission.short_url_lambda_permssion_apply_security_headers_edgelambda: Still creating... [1m40s elapsed]
aws_lambda_permission.short_url_lambda_permssion_apply_security_headers_edgelambda: Still creating... [1m50s elapsed]
aws_lambda_permission.short_url_lambda_permssion_apply_security_headers_edgelambda: Still creating... [2m0s elapsed]
Error: Error adding new Lambda Permission for arn:aws:lambda:us-east-1:740550993546:function:apply_security_headers: ResourceConflictException: The statement id (AllowExecutionFromCloudFront) provided already exists. Please provide a new statement id, or remove the existing statement.
status code: 409, request id: def239df-9a3f-4423-9614-869e6a7796c1
on short_urls.tf line 274, in resource "aws_lambda_permission" "short_url_lambda_permssion_apply_security_headers_edgelambda":
274: resource "aws_lambda_permission" "short_url_lambda_permssion_apply_security_headers_edgelambda" {
Error: Error adding new Lambda Permission for arn:aws:lambda:us-east-1:740550993546:function:apply_security_headers: ResourceConflictException: The statement id (AllowExecutionFromCloudFront2) provided already exists. Please provide a new statement id, or remove the existing statement.
status code: 409, request id: 4e0e8db7-6d91-4c52-a8fb-da021db57f78
on short_urls.tf line 282, in resource "aws_lambda_permission" "short_url_lambda_permssion_apply_security_headers_lambda":
282: resource "aws_lambda_permission" "short_url_lambda_permssion_apply_security_headers_lambda" {
Error: error creating CloudFront Distribution: InvalidLambdaFunctionAssociation: The function has a runtime that is not supported by Lambda@Edge: nodejs12.x Function: arn:aws:lambda:us-east-1:740550993546:function:apply_security_headers:1 Supported runtimes: [nodejs8.10, nodejs10.x, nodejs6.10, python3.7]
status code: 400, request id: b5634b38-11ce-11ea-be81-57e6b7cd19b5
on short_urls.tf line 336, in resource "aws_cloudfront_distribution" "short_urls_cloudfront":
336: resource "aws_cloudfront_distribution" "short_urls_cloudfront" {
Hi,
Thanks for writing this!
One quick thing I noticed when looking at this:
aws-lambda-short-url/short_urls.tf
Line 105 in 7540230
- "arn:aws:s3:::jmsr.io/*"
+ "arn:aws:s3:::${var.short_url_domain}/*"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.