CosmosDB: concatenazione di stringhe

L’articolo odierno a tema CosmosDB contiene un caso che mi è capitato durante uno sviluppo la scorsa settimana. Avevo la necessità di ottenere il valore finale di un testo calcolato dinamicamente da parte di un micro servizio. Scritto cosi suona anche male, ma sapendo le parti “fisse” e quelle “variabili” il gioco è stato veramente facile ed immediato. Vi state chiedendo come?

CONCAT

Come funziona il CONCAT? Prima di cominciare la parte pratica, vediamo la definizione presente nella documentazione Microsoft.

Restituisce una stringa che rappresenta il risultato della concatenazione di due o più valori di stringa.

Nulla di sconvolgente rispetto alle premesse, vero?

Ora supponiamo di guardare il nostro container c e prendere un item a caso per vederne il contenuto. Tra questi campi troveremo di nostro interesse

  • id
  • action

e vorremmo restituirli come parte di un link completo e calcolato.

1
2
3
4
SELECT 
    CONCAT('BASE_URL/callme?id=' , c.id , '&action=', c.action ) AS Link
FROM c 
[ WHERE ... ]

Il risultato ottenuto sara’ il seguente

1
2
3
4
5
6
7
8

[
{"Link": "BASE_URL/callme?id=3c782abe-be3b-4764-918e-72d3194b227a&action=delete"},
{"Link": "BASE_URL/callme?id=2ff49794-75a6-404b-a589-76f373b443b7&action=create"},
{"Link": "BASE_URL/callme?id=17b2c25b-bcf5-48e5-893c-28f967fff775&action=delete"},
{"Link": "BASE_URL/callme?id=83e28a2d-4a16-48b6-85ad-e0e81acdf273&action=update"},
{"Link": "BASE_URL/callme?id=995418e6-4c6a-45af-aa9f-8f6a1b4ed701&action=create"}
]

Come avrete notato creare una stringa personalizzata in CosmosDB è davvero semplicissimo!

Interessante vero?