When authoring Sentinel solution/connector configuration JSON (especially CCF/CCP connector *_PollerConfig.json and embedded/packaged mainTemplate.json content templates), treat [[ ... as a configuration-time escape—do not “simplify” it.
Rule:
[[ (double opening bracket) to emit a literal ARM expression start [ into the nested connector template, so the inner template evaluates it later.[[expr] to [expr] in these nested/preserved contexts; that typically causes the outer template to evaluate parameters too early (leading to deployment/runtime failures).]]; the correct form is double-open, single-close (and the rest of the expression must remain intact).parameters('workspace') may need to remain quoted as required by the packaging convention).Example (poller config):
{
"name": "[[concat('parameters(\"workspace\" )', '/Microsoft.SecurityInsights/SomeTable', uniqueString(parameters('PortfolioId')))]",
"auth": {
"type": "APIKey",
"ApiKey": "[[base64(concat(parameters('apiToken'), ':'))]"
},
"request": {
"apiEndpoint": "[[concat(parameters('endpointUrl'), '/Client/Anomaly')]"
}
}
Checklist before approval:
[[ ... to [ ... (or introduces ]]) should be treated as a high-risk configuration change requiring explicit justification and validation.