투케이2K

187. (Aws/Amazon) [AWS Lambda] AWS Lambda 람다 함수 목록 리스트 조회 ListFunctions API 설명 정리 본문

Aws (Amazon)

187. (Aws/Amazon) [AWS Lambda] AWS Lambda 람다 함수 목록 리스트 조회 ListFunctions API 설명 정리

투케이2K 2026. 2. 22. 12:05
728x90
반응형

[개발 환경 설정]

개발 환경 : Aws / Amazon Web Services

 

[설명 정리]

// --------------------------------------------------------------------------------------
[개발 및 환경]
// --------------------------------------------------------------------------------------

- 인프라 : Aws / Amazon Web Services


- 기술 구분 : Aws / Lambda / ListFunctions


- 사전) AWS Lambda 간단 설명 : 

  >> Aws Lambda 는 서버 리스 FaaS 솔루션으로, 함수의 인스턴스를 실행하여 이벤트를 처리할 수 있습니다.

  >> Aws Lambda 는 이벤트에 응답하여 코드를 실행 하고 해당 코드에 필요한 컴퓨팅 리소스를 자동으로 관리합니다.


- 사전) API Gateway 간단 설명 : 

  >> API Gateway 는 규모와 관계없이 REST 및 WebSocket API 를 생성, 게시, 유지, 모니터링 및 보호하기 위한 AWS 서비스입니다

  >> API Gateway 는 트래픽 관리, CORS 지원, 권한 부여 및 액세스 제어, 제한, 모니터링 및 API 버전 관리 등 최대 수십만 개의 동시 API 호출을 수신 및 처리하는 데 관계된 모든 작업을 처리합니다

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[설 명] 
// --------------------------------------------------------------------------------------

1. ListFunctions 는 AWS Lambda 함수들의 목록을 조회하는 API 입니다.


2. ListFunctions 는 각 함수의 버전별 구성 정보 (FunctionConfiguration) 일부를 포함하여 반환하며, 한 번의 호출에서 최대 50개 함수만 반환됩니다.


3. ListFunctions 주요 기능 : 

  >> Lambda 함수 목록 조회

    - 계정에 존재하는 Lambda 함수 목록을 반환합니다.
    - FunctionVersion=ALL을 설정하면 각 함수의 '모든 게시된 버전 + 게시되지 않은 버전(latest)' 을 포함합니다. (기본값은 latest 버전만 조회)

  >> 페이징 (Pagination) 지원

    - 50개 이상일 경우 Marker 값을 사용해 다음 페이지 조회 가능합니다

  >> 일부 구성 필드만 반환

    - 단, State, LastUpdateStatus 등의 정보는 반환하지 않으며 필요하면 GetFunction API로 조회해야합니다


4. ✅ ListFunctions 호출 시 요청 전문

  >> GET /2015-03-31/functions/?FunctionVersion=FunctionVersion&Marker=Marker&MasterRegion=MasterRegion&MaxItems=MaxItems

  >> FunctionVersion : ALL 설정 시 모든 게시된 버전 포함

  >> Marker : 이전 요청에서 받은 페이징 토큰

  >> MasterRegion : Lambda Edge 함수 필터링용

  >> MaxItems : 응답에 포함할 최대 함수 수 (최대 10,000), 하지만 실제 반환은 50개까지


5. ✅ ListFunctions 응답 전문

  >> ListFunctions 응답 JSON 예시 : 

    {
      "Functions": [
        {
          "FunctionName": "my-function-1",
          "FunctionArn": "arn:aws:lambda:ap-northeast-2:123456789012:function:my-function-1",
          "Runtime": "nodejs18.x",
          "Role": "arn:aws:iam::123456789012:role/lambda-basic-role",
          "Handler": "index.handler",
          "CodeSize": 450,
          "Description": "First Lambda example",
          "Timeout": 3,
          "MemorySize": 128,
          "LastModified": "2025-11-30T02:10:30.123+0000",
          "CodeSha256": "uZ1h3KDk39fjZs1LNCi6yQkPznBQ0WpgYpCv2A==",
          "Version": "$LATEST",
          "VpcConfig": {
            "SubnetIds": [],
            "SecurityGroupIds": [],
            "VpcId": ""
          },
          "TracingConfig": {
            "Mode": "PassThrough"
          },
          "RevisionId": "d6c9e9d3-a7fd-4f2d-a1cd-232d839cbe81",
          "PackageType": "Zip",
          "Architectures": ["x86_64"],
          "EphemeralStorage": {
            "Size": 512
          }
        },
        {
          "FunctionName": "my-function-2",
          "FunctionArn": "arn:aws:lambda:ap-northeast-2:123456789012:function:my-function-2",
          "Runtime": "python3.11",
          "Role": "arn:aws:iam::123456789012:role/lambda-exec-role",
          "Handler": "app.lambda_handler",
          "CodeSize": 1250,
          "Description": "Second Lambda example",
          "Timeout": 10,
          "MemorySize": 256,
          "LastModified": "2025-12-18T09:22:55.789+0000",
          "CodeSha256": "Qak3ZI8k0IDH9d0JMlL3YnwXltFpxyIUZ6sdDg9wBfg=",
          "Version": "$LATEST",
          "VpcConfig": {
            "SubnetIds": ["subnet-123abc", "subnet-789xyz"],
            "SecurityGroupIds": ["sg-12345abcde"],
            "VpcId": "vpc-123abc456"
          },
          "TracingConfig": {
            "Mode": "Active"
          },
          "RevisionId": "f812be92-34dc-4711-8f5e-2e437329abc1",
          "PackageType": "Zip",
          "Architectures": ["arm64"],
          "EphemeralStorage": {
            "Size": 1024
          }
        }
      ],
      "NextMarker": null
    }

  >> Functions : Lambda 함수 목록입니다.

  >> NextMarker : 더 많은 결과를 사용할 수 있을 때 포함되는 페이지 매김 토큰입니다.


6. ❌ ListFunctions 호출 주요 에러 발생 코드 : 


  >> InvalidParameterValueException : 요청의 파라미터 중 하나가 유효하지 않습니다. : HTTP 상태 코드: 400
                
  >> ServiceException : AWS Lambda 서비스에 내부 오류가 발생했습니다. : HTTP 상태 코드: 500
                
  >> TooManyRequestsException : 요청 처리량 제한을 초과했습니다. : HTTP Status Code: 429


7. ✅ ListFunctions 호출 자바스크립트 예시 소스 코드 : 

<script src="https://sdk.amazonaws.com/js/aws-sdk-2.1416.0.min.js"></script>

<script>

  // [AWS 인증 변수 선언]        
  const accessKey = 'AK..A6';
  const secretKey = 'mP..5J';
  const region = 'ap-northeast-2';


  window.onload = async function() {

    // -----------------------------------------
    // [AWS.config 지정]
    // -----------------------------------------       
    AWS.config.update({
      region: region,          
      accessKeyId: accessKey,
      secretAccessKey: secretKey
    });


    // -----------------------------------------
    // [AWS 객체 생성]
    // -----------------------------------------
    const aws = AWS.Lambda();


    // -----------------------------------------
    // Aws Lambda 람다 리스트 조회 수행
    // -----------------------------------------
    // AWS 참고 사이트 : https://docs.aws.amazon.com/ko_kr/lambda/latest/api/API_ListFunctions.html
    // -----------------------------------------  
    const param = { // ✅ Request_파라미터
      // Marker: 'dfe2243fd....', // ✅ 반복 조회 요청 시 추가

      MaxItems: 10 // 한번에 조회할 제한 개수      
    };

    aws.listFunctions( param , (err, data) => {
      if (err) console.error(err);
      else console.log(JSON.stringify(data));
    });

  };

</script>

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

[AWS Lambda] Aws 람다 Python 3.13 기반 기본 함수 구조 설명 정리

https://kkh0977.tistory.com/8188

https://blog.naver.com/kkh0977/223962723156?trackingCode=blog_bloghome_searchlist


[AWS] [Lambda] 런타임 Python 3.13 - boto3 모듈 사용해 AWS Lambda 람다 함수 리스트 목록 조회

https://kkh0977.tistory.com/8286

https://blog.naver.com/kkh0977/224014658387?trackingCode=blog_bloghome_searchlist

[Aws Lambda] Aws 사이트에서 생성 된 Lambda 람다 검증 함수 리스트 및 내용 소스 코드 확인 방법

https://blog.naver.com/kkh0977/223765198383


[AWS] Lambda 람다 함수 수행 errorType Sandbox.Timedout 에러 발생

https://blog.naver.com/kkh0977/223962778768

// --------------------------------------------------------------------------------------
 
728x90
반응형
Comments