Couchbase · Schema
EventingFunction
Eventing Function definition
AnalyticsApp ServicesBackupCapellaCloudDatabaseDBaaSEventingFull-Text SearchGatewayJSONMobileNoSQLReplicationSQL++SyncVector SearchXDCR
Properties
| Name | Type | Description |
|---|---|---|
| appname | string | Name of the Eventing Function |
| appcode | string | JavaScript handler code for the function |
| depcfg | object | Dependency configuration including bindings |
| settings | object | Function deployment settings |
| function_scope | object | Scope of the function definition |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/EventingFunction",
"title": "EventingFunction",
"type": "object",
"description": "Eventing Function definition",
"required": [
"appname",
"appcode"
],
"properties": {
"appname": {
"type": "string",
"description": "Name of the Eventing Function"
},
"appcode": {
"type": "string",
"description": "JavaScript handler code for the function"
},
"depcfg": {
"type": "object",
"description": "Dependency configuration including bindings",
"properties": {
"buckets": {
"type": "array",
"description": "Bucket bindings for the function",
"items": {
"type": "object",
"properties": {
"alias": {
"type": "string",
"description": "Alias name used in handler code"
},
"bucket_name": {
"type": "string",
"description": "Name of the bound bucket"
},
"scope_name": {
"type": "string",
"description": "Name of the scope"
},
"collection_name": {
"type": "string",
"description": "Name of the collection"
},
"access": {
"type": "string",
"description": "Access level for the bucket binding",
"enum": [
"r",
"rw"
]
}
}
}
},
"curl": {
"type": "array",
"description": "cURL bindings for external HTTP calls",
"items": {
"type": "object",
"properties": {
"hostname": {
"type": "string",
"description": "URL of the external endpoint"
},
"value": {
"type": "string",
"description": "Alias name used in handler code"
},
"auth_type": {
"type": "string",
"description": "Authentication type",
"enum": [
"no-auth",
"basic",
"bearer",
"digest"
]
},
"allow_cookies": {
"type": "boolean",
"description": "Whether to allow cookies"
},
"validate_ssl_certificate": {
"type": "boolean",
"description": "Whether to validate SSL certificates"
}
}
}
},
"constants": {
"type": "array",
"description": "Constant bindings",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "Alias name"
},
"literal": {
"type": "string",
"description": "Constant value"
}
}
}
},
"source_bucket": {
"type": "string",
"description": "Source bucket for mutations"
},
"source_scope": {
"type": "string",
"description": "Source scope for mutations"
},
"source_collection": {
"type": "string",
"description": "Source collection for mutations"
},
"metadata_bucket": {
"type": "string",
"description": "Metadata bucket for checkpoints"
},
"metadata_scope": {
"type": "string",
"description": "Metadata scope for checkpoints"
},
"metadata_collection": {
"type": "string",
"description": "Metadata collection for checkpoints"
}
}
},
"settings": {
"type": "object",
"description": "Function deployment settings",
"properties": {
"dcp_stream_boundary": {
"type": "string",
"description": "Starting point for processing mutations",
"enum": [
"everything",
"from_now"
]
},
"deployment_status": {
"type": "boolean",
"description": "Whether the function is deployed"
},
"processing_status": {
"type": "boolean",
"description": "Whether the function is processing mutations"
},
"log_level": {
"type": "string",
"description": "Log level for the function",
"enum": [
"INFO",
"ERROR",
"WARNING",
"DEBUG",
"TRACE"
]
},
"language_compatibility": {
"type": "string",
"description": "Language compatibility version"
},
"execution_timeout": {
"type": "integer",
"description": "Maximum execution time for a single handler invocation in seconds"
},
"timer_context_size": {
"type": "integer",
"description": "Maximum size of timer context in bytes"
},
"worker_count": {
"type": "integer",
"description": "Number of worker threads"
},
"num_timer_partitions": {
"type": "integer",
"description": "Number of timer partitions"
}
}
},
"function_scope": {
"type": "object",
"description": "Scope of the function definition",
"properties": {
"bucket": {
"type": "string",
"description": "Bucket for the function scope"
},
"scope": {
"type": "string",
"description": "Scope name"
}
}
}
}
}