생성 중인 AWS CodePipeline 템플릿 내에서 UserParameters 구성을 설정하려고 했습니다.
Name: ... Actions: - Name: Invoke-Lambda ActionTypeId: Category: Invoke Owner: AWS Provider: Lambda Version: '1' Configuration: FunctionName: exampleLambdaFunction UserParameters: '{"example":"user-parameters"}'
Go로 작성된 AWS Lambda에서 테스트하는 동안 핸들러에 대한 함수 정의를 찾고 전송될 AWS CodePipeline JSON 이벤트를 구문 분석하는 데 평소보다 약간 더 오래 걸렸습니다. 예:
{ "CodePipeline.job": { "id": "11111111-abcd-1111-abcd-111111abcdef", "accountId": "111111111111", "data": { "actionConfiguration": { "configuration": { "FunctionName": "exampleLambdaFunction", "UserParameters": "{\"example\":\"user-parameters\"}" } }, "inputArtifacts": [ ... ], ... } } }
전송되는 AWS CodePipeline JSON 이벤트를 비정렬화하는 데 도움이 되는 events.CodePipelineJobEvent가 포함된 github.com/aws/aws-lambda-go/events 패키지 링크를 사용하세요
package main import ( "context" "fmt" "github.com/aws/aws-lambda-go/events" "github.com/aws/aws-lambda-go/lambda" ) func Handler(ctx context.Context, event events.CodePipelineJobEvent) (string, error) { fmt.Printf("received codepipeline event function name: %+v\n", event.CodePipelineJob.Data.ActionConfiguration.Configuration.FunctionName) fmt.Printf("received codepipeline event user parameters: %+v\n", event.CodePipelineJob.Data.ActionConfiguration.Configuration.UserParameters) return "cool", nil } func main() { lambda.Start(Handler) }
위 내용은 Go에서 AWS CodePipeline에서 AWS Lambda로 전송된 UserParameter를 구문 분석합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!