cloudformation의 사용자 지정 기능이 작동하지 않습니다.

하메드 미나이

클라우드 형성에서 람다를 호출해야합니다.

다음은 내 yaml 템플릿입니다.

#test-custom-func
AWSTemplateFormatVersion: "2010-09-09"
Parameters:
  project:
    Description: project
    Type: String
    ConstraintDescription: Any string
  EnvironmentApp:
    Description: EnvironmentApp
    Type: String
    ConstraintDescription: Any string
Description: ddddd
Resources:
  removeBucket:
    Type: Custom::Myfunction
    Properties:
      ServiceToken: arn:aws:lambda:us-east-1:xxxxxxxxx:function:test1

다음은 테스트 람다 함수입니다.

exports.handler = (event, context, callback) => {
// TODO implement
console.log("rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr");
callback(null, 'Hello from Lambda');
};

보시다시피 모든 것이 매우 기본입니다. yaml 스택을 실행하면 생성되지 않고 생성 진행 중 상태로 유지되며 오래 후 실패합니다.

사용자 지정 기능을 사용할 때 누락 된 것이 있습니까?

Laurent Jalbert Simard

callback메서드를 사용하는 대신 CloudFormation에 명시 적으로 응답을 보내야합니다 .

문서에서 찾은이 스 니펫을 코드에 삽입 합니다.

// Send response to the pre-signed S3 URL 
function sendResponse(event, context, responseStatus, responseData) {

    var responseBody = JSON.stringify({
        Status: responseStatus,
        Reason: "See the details in CloudWatch Log Stream: " + context.logStreamName,
        PhysicalResourceId: context.logStreamName,
        StackId: event.StackId,
        RequestId: event.RequestId,
        LogicalResourceId: event.LogicalResourceId,
        Data: responseData
    });

    console.log("RESPONSE BODY:\n", responseBody);

    var https = require("https");
    var url = require("url");

    var parsedUrl = url.parse(event.ResponseURL);
    var options = {
        hostname: parsedUrl.hostname,
        port: 443,
        path: parsedUrl.path,
        method: "PUT",
        headers: {
            "content-type": "",
            "content-length": responseBody.length
        }
    };

    console.log("SENDING RESPONSE...\n");

    var request = https.request(options, function(response) {
        console.log("STATUS: " + response.statusCode);
        console.log("HEADERS: " + JSON.stringify(response.headers));
        // Tell AWS Lambda that the function execution is done  
        context.done();
    });

    request.on("error", function(error) {
        console.log("sendResponse Error:" + error);
        // Tell AWS Lambda that the function execution is done  
        context.done();
    });

    // write data to request body
    request.write(responseBody);
    request.end();
}

sendResponse논리가 완료되면 다음과 같이 호출하십시오 .

var responseStatus = "SUCCESS";
var responseData = {};
sendResponse(event, context, responseStatus, responseData);

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

사용자 정의 기능이 작동하지 않습니까?

분류에서Dev

사용자 정의 정렬 기능이 작동하지 않습니다.

분류에서Dev

자바 스크립트의 사용자 정의 정렬 기능이 작동하지 않습니다.

분류에서Dev

OpenCart PHP 사용자 정의 기능이 작동하지 않음

분류에서Dev

R의 사용자 지정 조회 기능이 R의 dplyr :: mutate 내에서 작동하지 않습니다.

분류에서Dev

사용자 정의 TinyMCE 편집기 버튼 내에서 Wordpress 기능이 작동하지 않습니다.

분류에서Dev

세션 사용자 데이터 유형이 Codeigniter의 특정 기능에서 작동하지 않습니다.

분류에서Dev

OnClick 기능이 사용자 정의 버튼 구성 요소와 함께 작동하지 않습니다.

분류에서Dev

사용자 지정 컨트롤의 VisualStateGroup이 작동하지 않습니다.

분류에서Dev

Devise의 사용자 지정 가입 양식이 작동하지 않습니다.

분류에서Dev

사용자 지정 조각의 CastClassException이 작동하지 않습니다.

분류에서Dev

PATH의 Git 사용자 지정 명령이 작동하지 않습니다.

분류에서Dev

사용자 정의 AngularJS 지시문이 작동하지 않습니다.

분류에서Dev

scope. $ eval은 사용자 지정 지시문의 링크 기능 내에서 작동하지 않습니다.

분류에서Dev

AJAX | alert (); 사용 다른 파일의 기능이 작동하지 않습니다.

분류에서Dev

사용자 정의 Eclipse 바로 가기가 작동하지 않습니다.

분류에서Dev

사용자 정의 Struts 유형 변환기가 작동하지 않습니다.

분류에서Dev

JPA 사용자 정의 JDBC 배치 크기가 작동하지 않습니다.

분류에서Dev

Wordpress에서 작동하지 않는 사용자 정의 기능

분류에서Dev

MediaFoundation : 사용자 정의 ClassFactory 등록이 작동하지 않습니다.

분류에서Dev

swiftui : 사용자 정의 버튼이 ListView에서 작동하지 않습니다.

분류에서Dev

사용자 정의 권한 부여 속성이 작동하지 않습니다.

분류에서Dev

사용자 정의 제어 이벤트가 작동하지 않습니다.

분류에서Dev

Qt C ++ 사용자 정의 슬롯이 작동하지 않습니다.

분류에서Dev

ListVIew에서 사용자 정의 TextView로 LongClick이 작동하지 않습니다.

분류에서Dev

Wordpress : 사용자 정의 글꼴이 작동하지 않습니다.

분류에서Dev

Laravel은 사용자 정의 모델 속성이 작동하지 않습니다.

분류에서Dev

Firefox에서 사용자 정의 확인란이 작동하지 않습니다.

분류에서Dev

Android 사용자 정의 상태 버튼이 작동하지 않습니다.

Related 관련 기사

  1. 1

    사용자 정의 기능이 작동하지 않습니까?

  2. 2

    사용자 정의 정렬 기능이 작동하지 않습니다.

  3. 3

    자바 스크립트의 사용자 정의 정렬 기능이 작동하지 않습니다.

  4. 4

    OpenCart PHP 사용자 정의 기능이 작동하지 않음

  5. 5

    R의 사용자 지정 조회 기능이 R의 dplyr :: mutate 내에서 작동하지 않습니다.

  6. 6

    사용자 정의 TinyMCE 편집기 버튼 내에서 Wordpress 기능이 작동하지 않습니다.

  7. 7

    세션 사용자 데이터 유형이 Codeigniter의 특정 기능에서 작동하지 않습니다.

  8. 8

    OnClick 기능이 사용자 정의 버튼 구성 요소와 함께 작동하지 않습니다.

  9. 9

    사용자 지정 컨트롤의 VisualStateGroup이 작동하지 않습니다.

  10. 10

    Devise의 사용자 지정 가입 양식이 작동하지 않습니다.

  11. 11

    사용자 지정 조각의 CastClassException이 작동하지 않습니다.

  12. 12

    PATH의 Git 사용자 지정 명령이 작동하지 않습니다.

  13. 13

    사용자 정의 AngularJS 지시문이 작동하지 않습니다.

  14. 14

    scope. $ eval은 사용자 지정 지시문의 링크 기능 내에서 작동하지 않습니다.

  15. 15

    AJAX | alert (); 사용 다른 파일의 기능이 작동하지 않습니다.

  16. 16

    사용자 정의 Eclipse 바로 가기가 작동하지 않습니다.

  17. 17

    사용자 정의 Struts 유형 변환기가 작동하지 않습니다.

  18. 18

    JPA 사용자 정의 JDBC 배치 크기가 작동하지 않습니다.

  19. 19

    Wordpress에서 작동하지 않는 사용자 정의 기능

  20. 20

    MediaFoundation : 사용자 정의 ClassFactory 등록이 작동하지 않습니다.

  21. 21

    swiftui : 사용자 정의 버튼이 ListView에서 작동하지 않습니다.

  22. 22

    사용자 정의 권한 부여 속성이 작동하지 않습니다.

  23. 23

    사용자 정의 제어 이벤트가 작동하지 않습니다.

  24. 24

    Qt C ++ 사용자 정의 슬롯이 작동하지 않습니다.

  25. 25

    ListVIew에서 사용자 정의 TextView로 LongClick이 작동하지 않습니다.

  26. 26

    Wordpress : 사용자 정의 글꼴이 작동하지 않습니다.

  27. 27

    Laravel은 사용자 정의 모델 속성이 작동하지 않습니다.

  28. 28

    Firefox에서 사용자 정의 확인란이 작동하지 않습니다.

  29. 29

    Android 사용자 정의 상태 버튼이 작동하지 않습니다.

뜨겁다태그

보관