IronQR 시작하기 AWS 설정 AWS Lambda에서 QR 코드를 읽고 쓰는 방법 커티스 차우 업데이트됨:7월 22, 2025 다운로드 IronQR NuGet 다운로드 무료 체험 시작하기 LLM용 사본 LLM용 사본 LLM용 마크다운 형식으로 페이지를 복사하세요 ChatGPT에서 열기 ChatGPT에 이 페이지에 대해 문의하세요 제미니에서 열기 제미니에게 이 페이지에 대해 문의하세요 Grok에서 열기 Grok에게 이 페이지에 대해 문의하세요 혼란 속에서 열기 Perplexity에게 이 페이지에 대해 문의하세요 공유하다 페이스북에 공유하기 트위터에 공유하기 LinkedIn에 공유하기 URL 복사 이메일로 기사 보내기 This article was translated from English: Does it need improvement? Translated View the article in English 이 사용 설명서는 IronQR 사용하여 AWS Lambda 함수를 설정하는 방법에 대한 자세한 가이드를 제공합니다. 이 튜토리얼에서는 IronQR 구성하여 QR 코드를 S3 버킷에 직접 읽고 쓰는 방법을 알아봅니다. ## AWS Lambda에서 QR 코드를 읽고 쓰는 방법 QR 코드를 읽고 쓰는 C# 라이브러리를 다운로드하세요. AWS Lambda 컨테이너화된 프로젝트 템플릿을 생성합니다. Dockerfile과 FunctionHandler 코드를 수정하세요. 메모리 및 시간 초과 설정을 늘리세요. 함수를 배포하고 실행하여 S3에서 결과를 확인하세요. 설치 이 문서에서는 S3 버킷을 사용하므로 AWSSDK.S3 패키지가 필요합니다. !{--010011000100100101000010010100100100000101010010010110010101111101010011010101000100000101010010101000101111101010001010010010010010100000101001100010111110100001001001001100010011110100001101001011--} AWS Lambda 프로젝트 생성 Visual Studio를 사용하면 컨테이너화된 AWS Lambda를 쉽게 생성할 수 있습니다. Visual Studio용 AWS Toolkit을 설치합니다. 'AWS Lambda 프로젝트(.NET Core - C#)'를 선택하세요 ' .NET 8(컨테이너 이미지)' 블루프린트를 선택한 다음 '완료'를 선택합니다. 패키지 종속성 추가 .NET 8용 IronQR 라이브러리는 추가적인 종속성 없이 AWS Lambda에서 작동합니다. 이를 구성하려면 아래와 같이 프로젝트의 Dockerfile을 수정하십시오. FROM public.ecr.aws/lambda/dotnet:8 # Install necessary packages and update repositories RUN dnf update -y WORKDIR /var/task # This COPY command copies the .NET Lambda project's build artifacts from the host machine into the image. # The source of the COPY should match where the .NET Lambda project publishes its build artifacts. If the Lambda function is being built # with the AWS .NET Lambda Tooling, the `--docker-host-build-output-dir` switch controls where the .NET Lambda project # will be built. The .NET Lambda project templates default to having `--docker-host-build-output-dir` # set in the aws-lambda-tools-defaults.json file to "bin/Release/lambda-publish". # # Alternatively, Docker multi-stage build could be used to build the .NET Lambda project inside the image. # For more information on this approach, check out the project's README.md file. COPY "bin/Release/lambda-publish" . 함수 핸들러 코드를 수정하세요 이 예제는 QR 코드를 생성하고, S3 버킷에 업로드한 다음, 새로 생성된 QR 코드를 읽습니다. 파일 경로는 IronQrNuGet 디렉터리에 지정되어 있으며, 파일 이름으로는 전역 고유 식별자(GUID)가 사용됩니다. Write 메서드는 제공된 값을 기반으로 QR 코드를 생성하며, 결과로 나온 JPG 바이트 배열은 QR 코드를 읽기 위해 Read 메서드에 전달됩니다. 이는 해당 AWS Lambda 함수가 QR 코드를 읽을 수 있음을 보여줍니다. using Amazon.Lambda.Core; using Amazon.S3; using Amazon.S3.Model; using IronQr; // Assembly attribute to enable the Lambda function's JSON input to be converted into a .NET class. [assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.SystemTextJson.DefaultLambdaJsonSerializer))] namespace IronQrNuGetAwsLambda { public class Function { private static readonly IAmazonS3 _s3Client = new AmazonS3Client(Amazon.RegionEndpoint.APSoutheast1); /// <summary> /// Main handler for AWS Lambda /// </summary> /// <param name="context">The ILambdaContext that provides methods for logging and describing the Lambda environment.</param> /// <returns></returns> public async Task FunctionHandler(ILambdaContext context) { // Set the license key for IronQR IronQr.License.LicenseKey = "IronQR-MYLICENSE-KEY-1EF01"; string bucketName = "deploymenttestbucket"; string objectKey = $"IronQrNuGet/{Guid.NewGuid()}.png"; try { // Create a QR code with the content "12345" var myQr = QrWriter.Write("12345"); context.Logger.LogLine("QR created."); // Upload the JPG to S3 await UploadJpgToS3Async(bucketName, objectKey, myQr.Save().ExportBytesAsJpg()); context.Logger.LogLine($"QR uploaded successfully to {bucketName}/{objectKey}"); // Read the QR code QrImageInput imageInput = new QrImageInput(myQr.Save()); QrReader reader = new QrReader(); var resultFromByte = reader.Read(imageInput); foreach (var item in resultFromByte) { // Log the read value context.Logger.LogLine($"QR value is = {item.Value}"); } } catch (Exception e) { context.Logger.LogLine($"[ERROR] FunctionHandler: {e.Message}"); } } // Function to upload the JPG file to S3 private async Task UploadJpgToS3Async(string bucketName, string objectKey, byte[] jpgBytes) { using (var memoryStream = new MemoryStream(jpgBytes)) { var request = new PutObjectRequest { BucketName = bucketName, Key = objectKey, InputStream = memoryStream, ContentType = "image/jpg", }; await _s3Client.PutObjectAsync(request); } } } } using Amazon.Lambda.Core; using Amazon.S3; using Amazon.S3.Model; using IronQr; // Assembly attribute to enable the Lambda function's JSON input to be converted into a .NET class. [assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.SystemTextJson.DefaultLambdaJsonSerializer))] namespace IronQrNuGetAwsLambda { public class Function { private static readonly IAmazonS3 _s3Client = new AmazonS3Client(Amazon.RegionEndpoint.APSoutheast1); /// <summary> /// Main handler for AWS Lambda /// </summary> /// <param name="context">The ILambdaContext that provides methods for logging and describing the Lambda environment.</param> /// <returns></returns> public async Task FunctionHandler(ILambdaContext context) { // Set the license key for IronQR IronQr.License.LicenseKey = "IronQR-MYLICENSE-KEY-1EF01"; string bucketName = "deploymenttestbucket"; string objectKey = $"IronQrNuGet/{Guid.NewGuid()}.png"; try { // Create a QR code with the content "12345" var myQr = QrWriter.Write("12345"); context.Logger.LogLine("QR created."); // Upload the JPG to S3 await UploadJpgToS3Async(bucketName, objectKey, myQr.Save().ExportBytesAsJpg()); context.Logger.LogLine($"QR uploaded successfully to {bucketName}/{objectKey}"); // Read the QR code QrImageInput imageInput = new QrImageInput(myQr.Save()); QrReader reader = new QrReader(); var resultFromByte = reader.Read(imageInput); foreach (var item in resultFromByte) { // Log the read value context.Logger.LogLine($"QR value is = {item.Value}"); } } catch (Exception e) { context.Logger.LogLine($"[ERROR] FunctionHandler: {e.Message}"); } } // Function to upload the JPG file to S3 private async Task UploadJpgToS3Async(string bucketName, string objectKey, byte[] jpgBytes) { using (var memoryStream = new MemoryStream(jpgBytes)) { var request = new PutObjectRequest { BucketName = bucketName, Key = objectKey, InputStream = memoryStream, ContentType = "image/jpg", }; await _s3Client.PutObjectAsync(request); } } } } $vbLabelText $csharpLabel 메모리 및 타임아웃 증가 Lambda 함수에 할당되는 메모리 양은 문서 크기와 동시에 처리되는 문서 수에 따라 달라집니다. 시작점으로, aws-lambda-tools-defaults.json에서 메모리를 512 MB로 설정하고 타임아웃을 300초로 설정합니다. "function-memory-size" : 512, "function-timeout" : 300 메모리가 부족하면 프로그램에서 '런타임이 오류와 함께 종료되었습니다: 신호: killed.'라는 오류 메시지가 표시됩니다. 메모리 크기를 늘리면 이 문제를 해결하는 데 도움이 될 수 있습니다. 자세한 내용은 문제 해결 문서 " AWS Lambda - 런타임 종료 신호: 종료됨" 을 참조하세요. 게시 Visual Studio에서 프로젝트를 게시하려면 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 'AWS Lambda에 게시...'를 선택한 다음 필요한 설정을 구성하면 됩니다. 더 자세한 내용은 AWS 웹사이트를 방문하세요. 한번 시도해 보세요! Lambda 함수는 Lambda 콘솔 또는 Visual Studio를 통해 활성화할 수 있습니다. 자주 묻는 질문 AWS Lambda에서 실행되는 C# 프로젝트에 QR 코드 라이브러리를 통합하려면 어떻게 해야 하나요? IronQR과 같은 QR 코드 라이브러리를 AWS Lambda의 C# 프로젝트에 통합하려면 IronQR 라이브러리를 다운로드하고, Visual Studio를 사용하여 컨테이너화된 AWS Lambda 프로젝트를 생성한 다음, QR 코드 작업을 지원하도록 환경을 구성하면 됩니다. AWS Lambda에서 IronQR을 구성하는 단계는 무엇입니까? Visual Studio에서 컨테이너화된 프로젝트 템플릿을 설정하고, Dockerfile을 수정하고, FunctionHandler를 업데이트하고, 메모리 및 시간 초과 설정을 조정하여 원활한 작동을 보장함으로써 AWS Lambda용 IronQR을 구성하십시오. C# 라이브러리를 사용하여 AWS S3에서 QR 코드를 관리하는 방법은 무엇인가요? IronQR을 사용하면 AWS S3 버킷에 QR 코드를 생성, 업로드 및 읽어 관리하고, S3 버킷 관련 작업을 처리할 수 있습니다. 이를 위해서는 IronQR 라이브러리와 AWSSDK.S3 패키지를 함께 사용해야 합니다. IronQR을 사용하는 AWS Lambda 함수의 성능이 좋지 않으면 어떻게 해야 하나요? AWS Lambda 함수의 성능이 저하되는 경우, aws-lambda-tools-defaults.json 파일에서 메모리 및 타임아웃 설정을 늘려 함수에 더 많은 리소스를 할당하는 것을 고려해 보세요. C# Lambda 함수를 AWS에 배포하려면 어떻게 해야 하나요? Visual Studio의 'AWS Lambda에 게시...' 옵션을 사용하고 필요한 설정을 구성한 다음 AWS Toolkit을 활용하여 C# Lambda 함수를 AWS에 배포합니다. Visual Studio에서 AWS Lambda 함수를 테스트할 수 있나요? 예, Visual Studio에서 AWS 툴킷을 사용하여 AWS Lambda 함수를 호출하고 개발 환경 내에서 직접 출력을 확인하여 AWS Lambda 함수를 테스트할 수 있습니다. AWS Lambda 함수의 메모리 문제를 어떻게 해결할 수 있나요? 메모리 문제를 해결하려면 aws-lambda-tools-defaults.json 파일에서 함수의 메모리 할당량을 늘리고 재배포 후 함수의 성능을 모니터링하십시오. AWS Lambda 프로젝트에서 Dockerfile을 수정하는 것이 중요한 이유는 무엇인가요? AWS Lambda 프로젝트에서 Dockerfile을 수정하는 것은 환경을 올바르게 설정하는 데 매우 중요하며, 여기에는 리포지토리 업데이트 및 함수가 제대로 실행되는 데 필요한 빌드 아티팩트 복사가 포함됩니다. AWS Lambda 함수가 QR 코드 작업을 효율적으로 처리하도록 하려면 어떻게 해야 할까요? AWS Lambda 함수가 QR 코드 작업을 효율적으로 처리하도록 하려면 메모리 및 타임아웃 설정을 최적화하고, IronQR과 같은 적절한 라이브러리를 사용하며, Dockerfile과 프로젝트 설정을 올바르게 구성해야 합니다. AWS Lambda에서 QR 코드 생성 및 검색을 자동화할 수 있을까요? 네, IronQR 라이브러리를 사용하면 AWS Lambda에서 QR 코드 생성 및 검색을 자동화할 수 있습니다. 이 라이브러리를 사용하면 QR 코드를 프로그래밍 방식으로 생성하고, S3에 업로드하고, 필요에 따라 다시 읽어올 수 있습니다. 커티스 차우 지금 바로 엔지니어링 팀과 채팅하세요 기술 문서 작성자 커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다. 커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다. 시작할 준비 되셨나요? Nuget 다운로드 61,359 | 버전: 2026.3 방금 출시되었습니다 무료 체험 시작하기 NuGet 무료 다운로드 총 다운로드 수: 61,359 라이선스 보기 아직도 스크롤하고 계신가요? 빠른 증거를 원하시나요? PM > Install-Package IronQR 샘플을 실행하세요 URL이 QR 코드로 바뀌는 것을 확인해 보세요. NuGet 무료 다운로드 총 다운로드 수: 61,359 라이선스 보기