AWS Lambda함수 핸들러 입력 PowerShell - AWS Lambda

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Lambda함수 핸들러 입력 PowerShell

Lambda 함수가 호출되면 Lambda 핸들러가 스크립트를 호출합니다. PowerShell

PowerShell 스크립트가 호출되면 다음 변수가 사전 정의됩니다.

  • $ LambdaInput — 핸들러에 대한 입력이 들어 있는 PSObject입니다. 이 입력은 이벤트 데이터(이벤트 소스에서 게시)가 되거나, 문자열이나 사용자 지정 데이터 객체 같은 사용자 지정 입력이 될 수 있습니다.

  • $ LambdaContext — 현재 함수 이름, 메모리 제한, 남은 실행 시간, 로깅 등 현재 호출에 대한 정보에 액세스하는 데 사용할 수 있는 Amazon.Lambdacore.I LambdaContext 객체입니다.

예를 들어, 다음 예제 PowerShell 코드를 고려해 보십시오.

#Requires -Modules @{ModuleName='AWSPowerShell.NetCore';ModuleVersion='3.3.618.0'} Write-Host 'Function Name:' $LambdaContext.FunctionName

이 스크립트는 $ LambdaContext 변수에서 가져온 FunctionName 속성을 반환합니다.

참고

스크립트가 의존하는 모듈을 나타내려면 PowerShell 스크립트 내에서 #Requires 명령문을 사용해야 합니다. 이 문은 두 가지 중요한 작업을 수행하는데 1) 스크립트에서 사용하는 모듈을 다른 개발자에게 전달하고 2) 배포의 일환으로 AWS PowerShell 도구가 스크립트와 함께 패키징해야 하는 종속 모듈을 식별합니다. #Requires설명문에 대한 자세한 내용은 요구 사항 정보를 참조하십시오. PowerShell PowerShell 배포 패키지에 대한 자세한 내용은 을 참조하십시오.zip PowerShell 파일 아카이브와 함께 Lambda 함수 배포.

PowerShell Lambda 함수가 cmdlet을 사용하는 AWS PowerShell 경우 Windows만 지원하는 모듈이 #Requires 아니라 Core를 PowerShell 지원하는 모듈을 AWSPowerShell.NetCore 참조하는 명령문을 설정해야 합니다. AWSPowerShell PowerShell cmdlet 가져오기 프로세스를 최적화하는 AWSPowerShell.NetCore 버전 3.3.270.0 이상을 사용해야 합니다. 이전 버전을 사용하는 경우 콜드 부팅 시간이 더 길어집니다. 자세한 내용은 다음을 참조하십시오. 도구 대상. AWS PowerShell

데이터 반환

일부 Lambda 호출은 호출자에게 데이터가 반환됨을 의미합니다. 예를 들어, API Gateway의 웹 요청에 대한 응답으로 호출이 발생한 경우 Lambda 함수는 해당 응답을 다시 반환해야 합니다. PowerShell Lambda의 경우, 파이프라인에 마지막으로 추가된 객체는 Lambda 호출의 반환 데이터입니다. PowerShell 객체가 문자열인 경우 데이터는 있는 그대로 반환됩니다. 그렇지 않으면 ConvertTo-Json cmdlet을 사용해 객체가 JSON으로 변환됩니다.

파이프라인에 추가되는 다음 PowerShell 명령문을 예로 들어 보겠습니다. $PSVersionTable PowerShell

$PSVersionTable

PowerShell 스크립트가 완료된 후 PowerShell 파이프라인의 마지막 객체는 Lambda 함수의 반환 데이터입니다. $PSVersionTable실행 환경에 대한 정보도 제공하는 PowerShell 글로벌 변수입니다.