{"id":27771529,"url":"https://github.com/lee-lou2/aws-lambda-cookbook-go","last_synced_at":"2026-07-26T14:31:35.463Z","repository":{"id":290270659,"uuid":"973608289","full_name":"lee-lou2/aws-lambda-cookbook-go","owner":"lee-lou2","description":"AWS Lambda Cookbook in Go","archived":false,"fork":false,"pushed_at":"2025-04-27T22:55:49.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-24T22:39:06.593Z","etag":null,"topics":["aws-lambda","golang","lambda","server","serverless"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lee-lou2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-27T11:05:33.000Z","updated_at":"2025-04-27T22:56:34.000Z","dependencies_parsed_at":"2025-04-29T22:43:01.848Z","dependency_job_id":null,"html_url":"https://github.com/lee-lou2/aws-lambda-cookbook-go","commit_stats":null,"previous_names":["lee-lou2/aws-lambda-cookbook-go"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lee-lou2/aws-lambda-cookbook-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lee-lou2%2Faws-lambda-cookbook-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lee-lou2%2Faws-lambda-cookbook-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lee-lou2%2Faws-lambda-cookbook-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lee-lou2%2Faws-lambda-cookbook-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lee-lou2","download_url":"https://codeload.github.com/lee-lou2/aws-lambda-cookbook-go/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lee-lou2%2Faws-lambda-cookbook-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35917792,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-26T02:00:06.503Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-lambda","golang","lambda","server","serverless"],"created_at":"2025-04-29T22:43:00.236Z","updated_at":"2026-07-26T14:31:35.443Z","avatar_url":"https://github.com/lee-lou2.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS Lambda Cookbook (Go)\n\n이 저장소는 Go 언어를 사용하여 AWS Lambda 함수를 개발하는 다양한 예제를 제공하는 쿡북입니다.\n\n## 소개\n\nAWS Lambda는 서버 관리 없이 코드를 실행할 수 있게 해주는 서버리스 컴퓨팅 서비스입니다. 이 저장소는 Go를 사용하여 Lambda 함수를 작성하고 배포하는 실용적인 예제들을 모아두었습니다.\n\n각 예제는 특정 사용 사례를 다루며, 필요한 코드와 함께 간단한 설명을 포함합니다.\n\n## 사용 가능한 Lambda 함수들\n\n현재 다음 예제들을 사용할 수 있습니다:\n\n1.  **[001_qr_generator](./001_qr_generator/)**: 주어진 URL, 크기, 색상 파라미터를 기반으로 QR 코드를 생성하는 Lambda 함수입니다.\n    *   API Gateway를 통해 트리거되며, 생성된 QR 코드 이미지를 Base64 인코딩된 PNG 형식으로 반환합니다.\n    *   색상 이름 또는 16진수 코드를 지원하며, 배경색과 투명도 설정도 가능합니다.\n    *   **API 사용법:**\n        *   API Gateway 엔드포인트에 GET 요청을 보냅니다.\n        *   쿼리 파라미터:\n            *   `url` (필수): QR 코드로 인코딩할 URL.\n            *   `size` (선택, 기본값: 256): QR 코드 이미지 크기 (픽셀 단위).\n            *   `color` (선택, 기본값: black): QR 코드 색상 (색상 이름 또는 16진수 코드, 예: `red`, `#FF0000`).\n            *   `bg` (선택, 기본값: white): 배경색 (색상 이름 또는 16진수 코드, 예: `blue`, `#0000FF`). 투명 배경은 `transparent` 사용.\n        *   **예시:** `[YOUR_API_GATEWAY_ENDPOINT]?url=https://example.com\u0026size=512\u0026color=blue\u0026bg=transparent`\n\n## Lambda 함수 빌드 및 배포\n\nGo로 작성된 Lambda 함수를 빌드하고 AWS에 배포하는 일반적인 단계는 다음과 같습니다:\n\n1.  **Go 코드 컴파일:** Lambda 함수 코드를 Linux 환경용 실행 파일로 컴파일합니다. 각 예제 디렉토리에서 다음 명령어를 실행합니다:\n    ```bash\n    GOOS=linux GOARCH=amd64 go build -o bootstrap main.go\n    # Mac(Apple Silicon)\n    GOOS=darwin GOARCH=arm64 go build -o bootstrap main.go\n    # Mac(Intel)\n    GOOS=linux GOARCH=arm64 go build -o bootstrap main.go\n    ```\n    *   `GOOS=linux`: 대상 운영체제를 Linux로 설정합니다.\n    *   `GOARCH=amd64`: 대상 아키텍처를 64비트 AMD/Intel로 설정합니다.\n    *   `-o bootstrap`: 출력 파일 이름을 `bootstrap`으로 지정합니다. AWS Lambda Go 런타임은 이 이름의 파일을 실행합니다.\n    *   `main.go`: 컴파일할 Go 소스 파일입니다.\n\n2.  **배포 패키지 생성:** 컴파일된 `bootstrap` 실행 파일을 ZIP 파일로 압축합니다. 이 ZIP 파일이 Lambda 함수 배포 패키지가 됩니다.\n    ```bash\n    zip deployment.zip bootstrap\n    ```\n\n3.  **AWS Lambda 함수 생성 및 업로드:**\n    *   AWS Management Console, AWS CLI 또는 IaC 도구(예: Terraform, AWS SAM)를 사용하여 Lambda 함수를 생성합니다.\n    *   함수 설정 시 런타임으로 `Amazon Linux 2023` 을 선택합니다.\n    *   생성된 `deployment.zip` 파일을 Lambda 함수 코드로 업로드합니다.\n    *   핸들러 이름은 일반적으로 `bootstrap`을 사용하며, 이는 컴파일된 실행 파일의 이름과 일치해야 합니다.\n    \n4.  **트리거 설정 (선택 사항):** 필요에 따라 API Gateway, S3 이벤트, CloudWatch Events 등 Lambda 함수를 호출할 트리거를 설정합니다.\n\n5.  **환경 변수 및 권한 설정:** 함수 실행에 필요한 환경 변수(예: API 키)나 AWS 서비스 접근 권한(IAM 역할)을 설정합니다.\n\n각 예제 디렉토리에는 해당 함수를 빌드하고 배포하는 데 필요한 구체적인 지침이나 스크립트가 포함될 수 있습니다.\n\n## 기여\n\n새로운 Lambda 함수 예제나 기존 예제 개선에 대한 기여를 환영합니다. Pull Request를 생성하거나 이슈를 등록해주세요.\n\n## 라이선스\n\n이 프로젝트는 [MIT 라이선스](./LICENSE) 하에 배포됩니다.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flee-lou2%2Faws-lambda-cookbook-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flee-lou2%2Faws-lambda-cookbook-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flee-lou2%2Faws-lambda-cookbook-go/lists"}