반응형

AWS API Gateway는 RESTful API를 간편하게 구축할 수 있는 서비스이며, AWS Lambda는 서버리스 기술을 사용하여 코드를 실행하는 서비스입니다. 두 서비스를 통합하여 파일 업로드 기능을 구현할 수 있습니다.

  1. AWS Lambda 함수 생성하기
  • AWS Management Console에서 AWS Lambda로 이동합니다.
  • "Create function"을 클릭합니다.
  • "Author from scratch"를 선택하고, 함수 이름, 런타임, 권한을 설정합니다.
  • "Create function"을 클릭하여 함수를 생성합니다.
  1. AWS Lambda 함수 코드 작성하기

AWS Lambda 함수에서는 파일 업로드를 처리하는 코드를 작성할 수 있습니다. 아래의 샘플 코드는 파일 업로드를 처리하는 Node.js 코드입니다.

 

const AWS = require('aws-sdk');
const s3 = new AWS.S3();

exports.handler = async (event, context) => {
  const { file } = JSON.parse(event.body);
  const buffer = Buffer.from(file.replace(/^data:image\/\w+;base64,/, ""), 'base64');

  const params = {
    Bucket: 'my-bucket',
    Key: 'my-file',
    Body: buffer,
    ContentEncoding: 'base64',
    ContentType: 'image/jpeg'
  };

  await s3.putObject(params).promise();
반응형

'개발 > Cloud' 카테고리의 다른 글

AWS lambda payload 6mb limit - chatGPT 작성  (0) 2023.02.07
AWS Lambda Cold Start & Warm Start - chatGPT 작성  (0) 2023.02.06
블로그 이미지

민오라방구

개발 , 여행, 일상 아직 배울게 많은 개발자

,
반응형

postgresql jsonb array타입(jsonb list)에 대해 json 추가/수정/삭제

 

Insert

INSERT INTO table_name (column1, column2, column_jsonb_list)
VALUES ('value1', 'value2', '["jsonb_value1", "jsonb_value2", ... ]'::jsonb[])

 

Update

UPDATE table_name
SET column_name = array_to_json(
  array_agg(
    CASE
      WHEN element->>'id' = 'uuid_value' THEN
        jsonb_set(element, '{deactive_dt}', to_jsonb(current_date))
      ELSE element
    END
  )
)
FROM (
  SELECT jsonb_array_elements(column_name) AS element
  FROM table_name
) sub;

Delete

SELECT jsonb_set('{"data": [1, 2, 3, 4, 5]}'::jsonb, '{data}', '[]');
반응형
블로그 이미지

민오라방구

개발 , 여행, 일상 아직 배울게 많은 개발자

,
반응형

AWS Lambda는 Amazon Web Services(AWS)에서 제공하는 서버리스 컴퓨팅 플랫폼으로 서버를 관리하지 않고도 코드를 실행할 수 있습니다. 이 플랫폼의 제한 사항 중 하나는 Lambda 함수에 전달할 수 있는 페이로드의 최대 크기인 6MB입니다.

6MB 페이로드 제한은 Lambda 함수가 트리거될 때 전달될 수 있는 데이터의 크기에 영향을 미치는 제약 조건입니다. 즉, 함수에 6MB 이상의 데이터가 필요한 경우 이 제한을 해결할 방법을 찾아야 합니다.

AWS Lambda에서 6MB 페이로드 제한을 극복하는 방법에는 여러 가지가 있습니다. 한 가지 접근 방식은 Amazon S3 버킷에 데이터를 저장한 다음 함수가 실행될 때 데이터를 검색하는 것입니다. 또 다른 접근 방식은 데이터를 여러 청크로 분할한 다음 각 청크를 개별적으로 처리하는 것입니다.

솔루션을 선택할 때 다양한 옵션 간의 장단점을 고려하는 것이 중요합니다. 예를 들어 S3 버킷에 데이터를 저장하는 것은 많은 양의 데이터를 저장해야 하는 경우 좋은 옵션일 수 있지만 S3 버킷에서 데이터를 검색해야 하므로 함수의 대기 시간이 증가할 수도 있습니다. 반면에 데이터를 여러 청크로 분할하는 것은 데이터를 병렬로 처리해야 하는 경우 좋은 옵션일 수 있지만 코드의 복잡성을 증가시킬 수도 있습니다.

결론적으로 AWS Lambda의 6MB 페이로드 제한은 Lambda 함수에 전달할 수 있는 데이터의 크기에 영향을 미치는 제약 조건입니다. 이 제한은 문제가 될 수 있지만 S3 버킷에 데이터를 저장하거나 데이터를 여러 청크로 분할하는 등 여러 가지 방법으로 이를 해결할 수 있습니다. 솔루션을 선택할 때 다양한 옵션 간의 장단점을 고려하는 것이 중요합니다.

반응형
블로그 이미지

민오라방구

개발 , 여행, 일상 아직 배울게 많은 개발자

,