함수 업데이트 - Amazon CloudFront

함수 업데이트

함수는 언제든지 업데이트할 수 있습니다. DEVELOPMENT 스테이지에 있는 함수 버전만 변경됩니다. 업데이트를 DEVELOPMENT 스테이지에서 LIVE로 복사하려면 함수를 게시해야 합니다.

CloudFront 콘솔 또는 AWS Command Line Interface(AWS CLI)를 사용하여 함수의 코드를 업데이트할 수 있습니다.

Console
함수 코드를 업데이트하려면
  1. CloudFront 콘솔(https://console.aws.amazon.com/cloudfront/v4/home#/functions)에 로그인하고 함수 페이지를 엽니다.

    업데이트할 함수를 선택합니다.

  2. 편집을 선택하고 다음과 같이 변경합니다.

    • 세부 정보 섹션의 모든 필드를 업데이트합니다.

    • 연결된 키 값 저장소를 변경하거나 제거합니다. 키 값 저장소에 대한 자세한 내용은 Amazon CloudFront KeyValueStore 섹션을 참조하세요.

    • 함수 코드를 변경합니다. 빌드 탭을 선택하고 필요한 부분을 변경한 다음 변경 사항 저장을 선택하여 코드의 변경 사항을 저장합니다.

CLI
함수 코드를 업데이트하려면
  1. 명령줄 창을 엽니다.

  2. 다음 명령을 실행합니다.

    이 예제에서는 fileb:// 표기법을 사용하여 파일을 전달합니다. 명령을 더 쉽게 읽을 수 있도록 줄 바꿈도 포함되어 있습니다.

    aws cloudfront update-function \ --name MaxAge \ --function-config '{"Comment":"Max Age 2 years","Runtime":"cloudfront-js-2.0","KeyValueStoreAssociations":{"Quantity":1,"Items":[{"KeyValueStoreARN":"arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"}]}}' \ --function-code fileb://function-max-age-v1.js \ --if-match ETVABCEXAMPLE
    Notes
    • 함수의 이름과 ETag(if-match 파라미터 내)로 함수를 식별할 수 있습니다. 현재 ETag를 사용하도록 하세요. DescribeFunction API 작업에서 이 값을 얻을 수 있습니다.

    • 변경하지 않을 때에도 function-code가 포함되어야 합니다.

    • function-config에 유의하세요. 구성에 유지하려는 모든 내용을 전달해야 합니다. 특히 키 값 저장소는 다음과 같이 처리하세요.

      • 기존 키 값 저장소 연결(있는 경우)을 유지하려면 기존 저장소의 이름을 지정합니다.

      • 연결을 변경하려면 새 키 값 저장소의 이름을 지정합니다.

      • 연결을 제거하려면 KeyValueStoreAssociations 파라미터를 생략하세요.

    명령이 제대로 실행되면 다음과 비슷한 출력이 표시됩니다.

    ETag: ETVXYZEXAMPLE FunctionSummary: FunctionConfig: Comment: Max Age 2 years \ Runtime: cloudfront-js-2.0 \ KeyValueStoreAssociations= \ {Quantity=1, \ Items=[{KeyValueStoreARN='arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111'}]} \ FunctionMetadata: \ CreatedTime: '2021-04-18T20:38:56.915000+00:00' \ FunctionARN: arn:aws:cloudfront::111122223333:function/MaxAge \ LastModifiedTime: '2023-12-19T23:41:15.389000+00:00' \ Stage: DEVELOPMENT \ Name: MaxAge \ Status: UNPUBLISHED

대부분의 정보는 요청에서 반복된 내용입니다. 기타 정보는 CloudFront에 의해 추가됩니다.

Notes
  • ETag - 이 값은 키 값 저장소를 수정할 때마다 변경됩니다.

  • FunctionARN - CloudFront 함수의 ARN입니다.

  • Stage - 함수의 스테이지(LIVE 또는 DEVELOPMENT)입니다.

  • Status - 함수의 상태(PUBLISHED 또는 UNPUBLISHED)입니다.