DigitalOcean Functions, 또는 "DO Functions"은 기반이 되는 인프라에 대해 걱정할 필요 없이 코드를 실행할 수 있는 서버리스 컴퓨팅 플랫폼입니다. DO Functions을 사용하면 API, HTTP 요청 (활성화된 경우) 또는 cron을 통해 트리거될 수 있는 "함수"로 코드를 작성하고 배포할 수 있습니다. 이러한 함수는 완전히 관리되는 환경에서 실행되므로 스케일링, 보안 또는 유지 관리에 대해 걱정할 필요가 없습니다.
DO에서 함수를 생성하려면 먼저 함수를 그룹화할 네임스페이스를 생성해야 합니다.
네임스페이스 내에서 함수를 생성할 수 있습니다.
트리거
REST API를 통해 함수를 트리거하는 방법 (항상 활성화되어 있으며, CLI가 사용하는 방법)은 다음과 같이 인증 토큰을 포함한 요청을 트리거하는 것입니다:
doctl CLI 도구가 이 토큰을 가져오는 방법을 확인하려면 (복제할 수 있도록) 다음 명령어는 전체 네트워크 추적을 보여줍니다:
doctlserverlessconnect--trace
HTTP 트리거가 활성화되어 있으면, 웹 함수는 HTTP 메소드 GET, POST, PUT, PATCH, DELETE, HEAD 및 OPTIONS를 통해 호출될 수 있습니다.
DO 함수에서는 환경 변수를 암호화할 수 없습니다 (작성 시점 기준).
CLI에서는 읽는 방법을 찾을 수 없었지만 콘솔에서는 간단합니다.
함수 URL은 다음과 같이 보입니다: https://<random>.doserverless.co/api/v1/web/<namespace-id>/default/<function-name>
열거
# Namespacedoctlserverlessnamespaceslist# Functions (need to connect to a namespace)doctlserverlessconnectdoctlserverlessfunctionslistdoctlserverlessfunctionsinvoke<func-name>doctlserverlessfunctionsget<func-name># Logs of executionsdoctlserverlessactivationslistdoctlserverlessactivationsget<activation-id># Get all the info about executiondoctlserverlessactivationslogs<activation-id># get only the logs of executiondoctlserverlessactivationsresult<activation-id># get only the response result of execution# I couldn't find any way to get the env variables form the CLI