AWS CDK를 사용하여 Lambda 함수 URL(Function URLs)을 설정합니다.(L2 Constract에서)
2022/04/22 저녁(JST)에 L2 Constract의 대응 v2가 추가되었습니다.21.0(참고로 BugFix에 가입하여 최신 버전은 v2.21.1)이 발매되었습니다.
그래서 나는 즉시 시험해 보았다.
API 문서도 업데이트되었으니 여기를 참조하십시오.
아무튼 L2로 만든 부분은 이런 느낌이에요.
이번에는 람바다 모듈로 제작됐지만, 노드js를 위한 람바다 모듈에서도 사용할 수 있다.
const lambdaUrlFunctionL2 = new lambda.Function(this, 'lambdaUrlL2', {
runtime: lambda.Runtime.NODEJS_14_X,
code: lambda.Code.fromAsset('lambda'),
handler: 'index.endpointHandler',
timeout: Duration.seconds(30),
});
const lambdaUrlFunctionL2Url = new lambda.FunctionUrl(this, 'lambdaUrlL2Url', {
function: lambdaUrlFunctionL2,
authType: lambda.FunctionUrlAuthType.NONE
})
new CfnOutput(this, 'TheLambdaUrlFunctionL2', {
// The .url attributes will return the unique Function URL
value: lambdaUrlFunctionL2Url.url,
});
마지막 CfnOutput을 염두에 두고 있다.API Gateway라면 만들 때 URL이 나오는데 이걸 붙여야 돼요.
실행하면 URL이 표시됩니다.
어, 이거 L1도 쓸 수 있는 거 아니야? (땀)
L1/L2 비교
비교해보면 이런 느낌이에요.
new CfnResource(this, 'lambda-url-cfn' , {
type: 'AWS::Lambda::Url',
properties: {
TargetFunctionArn: lambdaUrlFunction.functionArn,
AuthType: 'NONE'
}
});
new CfnResource(this, 'lambda-url-Permision', {
type: 'AWS::Lambda::Permission',
properties: {
FunctionName: lambdaUrlFunction.functionName,
Principal: '*',
Action: 'lambda:InvokeFunctionUrl',
FunctionUrlAuthType: 'NONE'
}
});
(ID 추가 방법을 재검토해야 함) const lambdaUrlFunctionL2Url = new lambda.FunctionUrl(this, 'lambdaUrlL2Url', {
function: lambdaUrlFunctionL2,
authType: lambda.FunctionUrlAuthType.NONE
})
많이 줄었네요.권한 없는 설정이 큰 것 같아서요.
맞춤형 제작이 필요하지 않으시다면 기준을 설정해 주십시오.
어쨌든 이것은 내가 한 보도다.
인증도 여전히 NONE이고 CORS의 설정도 진행되지 않았으며 이 부분은 계속됐다.
그리고 있는 것 같지만 Output으로 써야 할 것 같아서 혼자 쓰면 안 되겠죠 w
펀션 URLs가 새로운 시작을 하고 앞으로도 용례가 늘어나겠지만 계속 지켜보겠다.
Reference
이 문제에 관하여(AWS CDK를 사용하여 Lambda 함수 URL(Function URLs)을 설정합니다.(L2 Constract에서)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/keni_w/articles/4beb069bc85fe6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)