DataPrime: URL decodifica / codifica

Questa guida fornisce un glossario delle funzioni IBM® Cloud Logs DataPrime URL per la codifica e la decodifica degli URL.

urlDecode e urlEncode supportano la notazione di funzione e di metodo.

urlEncode

Utilizzare urlEncode per convertire i caratteri in un formato che possa essere trasmesso via Internet.

Per inviare un URL su Internet, il URL deve essere impostato utilizzando il set di caratteri ASCII. Ad esempio, potrebbe essere necessario codificare una serie di caratteri e sostituire uno spazio vuoto con %20.

Funzione

urlEncode(string: string): string

Ad esempio, si può utilizzare il seguente esempio per codificare il valore di query_string_parameters.name utilizzando una funzione:

replace query_string_parameters.name with urlEncode(query_string_parameters.name)

Metodo

string: string.urlEncode(): string

Ad esempio, si può utilizzare il seguente esempio per codificare il valore di query_string_parameters.name utilizzando un metodo:

replace query_string_parameters.name with query_string_parameters.name.urlEncode()

urlDecode

Utilizzate urlDecode per convertire un URL in un formato facile da usare.

Funzione

urlDecode(string: string): string

Ad esempio, si può utilizzare il seguente esempio per decodificare il valore di query_string_parameters.name utilizzando una funzione:

replace query_string_parameters.name with urlDecode(query_string_parameters.name)

Metodo

string: string.urlDecode(): string

Ad esempio, si può utilizzare il seguente esempio per decodificare il valore di query_string_parameters.name utilizzando un metodo:

replace query_string_parameters.name with query_string_parameters.name.urlDecode()

Esempio: Conversione dei parametri dell'intestazione URL in un oggetto JSON e decodifica URL

Si consideri la seguente riga di log:

{
  "domain": "https://www.ibm.com",
  "path": "/home",
  "query_string": "name=My%20Name&b=c%20d&c=d"
}

Innanzitutto, estrarre ogni parametro della stringa di query nel proprio campo oggetto.

extract query_string into query_string_parameters using kv(pair_delimiter='&',key_delimiter='=')

Il documento risultante ha il seguente aspetto:

{
  "domain":"https://www.ibm.com",
  "query_string":"name=My%20Name&b=c%20d&c=d",
  "path": "/home",
  "query_string_parameters":{
    "name":"My%20Name",
    "b":"c%20d",
    "c":"d"
  }
}

Quindi, decodificare query_string_parameters.name e sostituire %20 con uno spazio vuoto. Utilizzare replace per sovrascrivere il vecchio campo con uno nuovo e per sovrascrivere il valore di un percorso chiave esistente con uno nuovo.

replace query_string_parameters.name with urlDecode(query_string_parameters.name)
replace query_string_parameters.b with urlDecode(query_string_parameters.b)

Il risultato è il seguente documento:

{
  "domain":"https://www.ibm.com",
  "query_string":"name=My%20Name&b=c%20d&c=d",
  "path": "/home",
  "query_string_parameters":{
    "name":"My name",
    "b":"c d",
    "c":"d"
  }
}