한도 및 할당량
기능을 설계하기 전에 필요한 숫자와 현재 플랫폼의 알려진 격차.
1. 함수
| 한도 | 가치 | 어디에서 오는가 |
|---|---|---|
| 이름 | a-z, A-Z, 0-9, _, - 중 1~64자 | 배포 시 적용 |
| 소스 크기 | 20MB | 배포 시 적용 |
| 런타임 | deno(TypeScript 또는 JavaScript) 및 wasm | |
| 메모리 | 16~1024MB, 기본값 128 | permissions.memory_mb |
| 기간 | 1~300초, 기본값은 30 | permissions.timeout_secs |
| 외부 네트워크 | 기본적으로 열림 | permissions.allow_net: 비어 있지 않으면 나열된 호스트에만 접근할 수 있습니다 |
범위를 벗어난 값은 400로 거부됩니다. 절대로 자동으로 고정되지 않습니다. timeout_secs: 0에 대한 실제 답변 : permissions.timeout_secs doit être compris entre 1 et 300 secondes.
재배포하지 않고 권한 변경:
보내는 필드만 변경됩니다.
2. 전화
| 한도 | 가치 | 소스 |
|---|---|---|
| 요청 본문 | 정보 256KiB | 측정됨: 503로 인해 260KB 통과, 300KB 실패 |
| 응답 본문 | 정보 256KiB | 측정됨: 250KB 통과; 300KB는 50초 이내에 아무것도 반환하지 않았습니다. |
| 통화 사이의 상태 | 없음 | 모든 호출은 새로운 격리된 V8 작업자에서 실행됩니다. |
| 지역 | 하나 | 지역 선택 없음 |
플랫폼을 통과하는 메시지는 1MiB로 제한되고 요청 본문의 각 바이트는 4번 계산되므로 약 256KiB를 초과하는 본문은 503 SERVICE_UNAVAILABLE로 거부됩니다. SDK는 이를 FunctionsRelayError로 보고하는데 이는 오해의 소지가 있습니다. 재시도는 도움이 되지 않습니다. 동일한 크기 이상의 응답은 테스트에서 전혀 돌아오지 않았습니다. 요청과 응답을 250KB 미만으로 유지하고 스토리지를 통해 더 큰 데이터를 보냅니다.
3. 요금 및 요금제 할당량
클라이언트 IP당 호출 비율:
| 프로필 | 가치 |
|---|---|
| 버스트 | 15 통화 |
| 지속됨 | 초당 1번 호출 |
30번의 빠른 호출을 실제로 실행한 결과 15번은 200을 반환했고 15번은 429을 반환했습니다. 429는 x-ratelimit-* 및 retry-after 헤더를 전달하며 SDK는 지연을 error.retryAfter로 노출합니다.
플랫폼 계획 표의 계획당 월별 할당량:
| 계획 | 호출 | 총 기간 |
|---|---|---|
| 무료 | 100,000 | 6,000,000ms(100분) |
| 프로 | 1,000,000 | 60,000,000ms(1,000분) |
| 팀 | 10,000,000 | 600,000,000ms(10,000분) |
| 기업 | 100,000,000 | 6,000,000,000ms(100,000분) |
무료 플랜에서는 한도가 엄격합니다. 이를 초과하는 통화는 403 QUOTA_EXCEEDED로 거부됩니다. 유료 플랜에서 표는 월별 허용량이며, 그 이후에 발생하는 상황은 구독의 초과분 설정에 따라 다릅니다. 상태에 관계없이 함수가 응답하면 통화가 계산됩니다. 함수가 응답하기 전에 실패한 호출은 계산되지 않습니다. 작업 및 크론 실행도 호출로 간주됩니다.
4. 작업, 크론 및 알림
| 한도 | 가치 |
|---|---|
| 취업 시도 | 기본적으로 3개, maxAttempts를 사용하여 작업별로 설정됩니다. |
| 시도 간 지연 | 5초, 고정됨 |
| 서비스 인스턴스당 병렬 작업 | 기본적으로 8개 |
| 러닝 리스 | 450초 후 작업이 회수됩니다. |
| 완료된 작업은 보관됨 | 기본적으로 14일 |
listJobs 페이지 | 1~500, 기본값은 50 |
| 크론 일정 | 5개 또는 6개 필드, UTC, 별칭 없음 |
| 경고 확인 | 60초마다 |
이러한 작업 값은 서비스 설정입니다: JOB_MAX_RETRIES, JOB_RETRY_DELAY_SECS, WORKER_CONCURRENCY, JOB_RUNNING_LEASE_SECS 및 JOB_RETENTION_DAYS. 관리형 배포의 가치는 플랫폼 운영자에게 문의하세요.
5. 알려진 격차
- 함수 자체 로그에 액세스할 수 없습니다. 함수가
console.log또는console.error를 사용하여 작성한 내용은 플랫폼 운영자만 읽을 수 있는 런타임 로그에 유지됩니다.aura functions logs는 해당 출력이 아닌 요청(메서드, 경로, 상태, 기간, 요청 ID)을 표시합니다. 응답에 필요한 정보를 반환하거나 자체 로깅 서비스로 보내십시오. - 함수 내부에 요청 ID가 없습니다. 호출 식별자가 함수로 전달되지 않습니다.
- 버전이나 롤백이 없습니다. 배포하면 코드가 대체됩니다. 이전 버전을 저장소에 보관하세요.
- 스트리밍이 없습니다. 전체 응답은 SDK에 도달하기 전에 버퍼링됩니다.
- 빈
allow_net은 아무것도 제한하지 않습니다. 네트워크는 기본적으로 열려 있으며, 제한하려면 호스트를 나열하세요. - 로컬 에뮬레이션은 부분적입니다.
aura functions serve는 Deno를 사용하여 파일을 실행하지만 플랫폼 경로, 헤더 또는 제한을 재현하지 않습니다.