All Products
Search
Document Center

CloudFlow:Fungsi bawaan

Last Updated:Mar 12, 2026

CloudFlow's Flow Definition Language (FDL) menyediakan fungsi bawaan untuk pemrosesan data dalam definisi alur kerja. Fungsi-fungsi ini memungkinkan Anda memanipulasi string, array, map, dan data JSON tanpa perlu menulis kode fungsi eksternal.

Penting

Untuk menggunakan fungsi bawaan dalam konstruktor input atau output, tambahkan .$ ke kunci konstruktor. Hal ini memberi tahu CloudFlow untuk mengevaluasi nilai tersebut sebagai ekspresi. Tanpa akhiran .$, nilai tersebut diperlakukan sebagai string biasa. Maksimal 10 pemanggilan fungsi bersarang didukung per ekspresi.

Contoh: Menggunakan fungsi bawaan dalam konstruktor FDL

{
  "inputMappings": {
    "greeting.$": "format('Hello, {}', $input.username)"
  }
}

Pada contoh ini, greeting.$ memberi tahu CloudFlow bahwa nilai tersebut merupakan ekspresi yang berisi fungsi format, bukan string literal.

Referensi fungsi

Tabel berikut mencantumkan semua fungsi bawaan, dikelompokkan berdasarkan kategori.

Operasi umum

FungsiTujuan
formatMemformat string menggunakan placeholder {}
lengthMendapatkan panjang string, array, atau map
regexMatchStringMencocokkan string terhadap ekspresi reguler
splitMemisahkan string berdasarkan delimiter

Operasi array

FungsiTujuan
arrayContainsMemeriksa apakah array berisi elemen tertentu
arrayUniqueMenghapus elemen duplikat dari array
toArrayMengonversi sejumlah argumen variabel menjadi array

Operasi map

FungsiTujuan
mapKeysMengekstrak semua kunci dari objek JSON atau map sebagai array
mapValuesMengekstrak semua nilai dari objek JSON atau map sebagai array
mapValuesPartitionMengekstrak nilai dari map dan membaginya menjadi sub-array berdasarkan ukuran langkah

Pengkodean dan penguraian data

FungsiTujuan
toBase64Mengencode string ke Base64
fromBase64Mengurai string yang diencode Base64

Perhitungan hash dan pembuatan UUID

FungsiTujuan
hashMenghasilkan nilai hash menggunakan algoritma tertentu
uuidMenghasilkan identifier unik universal (UUID)

Operasi data JSON

FungsiTujuan
jsonToStringMengonversi objek JSON atau map menjadi string JSON
stringToJsonMengurai string JSON menjadi objek JSON atau map
jsonMergeMenggabungkan dua objek JSON atau map menjadi satu

Operasi umum

format

Memformat string dengan mengganti placeholder {} menggunakan argumen yang diberikan, secara berurutan.

Sintaks

format(template, arg1, arg2, ...)

Parameter

ParameterTipeWajibDeskripsi
templatestringYaString templat yang berisi placeholder {}
arg1, arg2, ...anyYaNilai yang akan menggantikan placeholder, secara berurutan

Tipe kembalian: string

Contoh

format("hello {}", "world")
// Mengembalikan: "hello world"

Penggunaan FDL:

{ "message.$": "format('Task {} completed at {}', $input.taskName, $input.timestamp)" }

length

Mengembalikan panjang string, array, atau map.

  • Untuk string, mengembalikan jumlah karakter.

  • Untuk array, mengembalikan jumlah elemen.

  • Untuk map, mengembalikan jumlah pasangan kunci-nilai.

Sintaks

length(value)

Parameter

ParameterTipeWajibDeskripsi
valuestring, []any, atau map[string]anyYaString, array, atau map yang akan diukur

Tipe kembalian: int

Contoh

length([1, 2, 3])
// Mengembalikan: 3

length({"name": "Tom", "age": 10})
// Mengembalikan: 2

length("name")
// Mengembalikan: 4

Penggunaan FDL:

{ "itemCount.$": "length($input.orderItems)" }

regexMatchString

Menguji apakah string cocok dengan pola ekspresi reguler. Mengembalikan true jika pola cocok, false jika tidak.

Sintaks

regexMatchString(pattern, value)

Parameter

ParameterTipeWajibDeskripsi
patternstringYaPola ekspresi reguler
valuestringYaString yang akan diuji terhadap pola

Tipe kembalian: bool

Contoh

regexMatchString("p([a-z]+)ch", "peach")
// Mengembalikan: true

regexMatchString("p([a-z]+)ch", "p123ch")
// Mengembalikan: false

Penggunaan FDL:

{ "isValid.$": "regexMatchString('^[a-zA-Z0-9]+$', $input.userId)" }

split

Memisahkan string menjadi array substring berdasarkan delimiter.

Sintaks

split(value, delimiter)

Parameter

ParameterTipeWajibDeskripsi
valuestringYaString yang akan dipisah
delimiterstringYaDelimiter yang digunakan untuk memisah

Tipe kembalian: []string

Contoh

split("item1,item2,item3", ",") // Mengembalikan: ["item1", "item2", "item3"]

Penggunaan FDL:

{ "tags.$": "split($input.tagString, ',')" }

Operasi array

arrayContains

Memeriksa apakah array berisi elemen tertentu. Mengembalikan true jika elemen ditemukan, false jika tidak.

Sintaks

arrayContains(array, element)

Parameter

ParameterTipeWajibDeskripsi
array[]anyYaArray yang akan dicari
elementanyYaElemen yang akan dicari

Tipe kembalian: bool

Contoh

arrayContains(["Tom", 10], 10) // Mengembalikan: true arrayContains(["Tom", 10], "Jack") // Mengembalikan: false

Penggunaan FDL:

{ "isAllowed.$": "arrayContains($input.allowedRegions, $input.targetRegion)" }

arrayUnique

Menghapus elemen duplikat dari array dan mengembalikan hasil yang telah dideduplikasi.

Sintaks

arrayUnique(array)

Parameter

ParameterTipeWajibDeskripsi
array[]anyYaArray yang akan dideduplikasi

Tipe kembalian: []any

Contoh

arrayUnique([1, 2, 3, 1])
// Mengembalikan: [1, 2, 3]

toArray

Mengonversi sejumlah argumen variabel menjadi satu array.

Sintaks

toArray(arg1, arg2, ...)

Parameter

ParameterTipeWajibDeskripsi
arg1, arg2, ...anyYaSatu atau lebih nilai yang akan digabung menjadi array

Tipe kembalian: []any

Contoh

toArray(1,'strig',$Input.var)
// Mengembalikan: []any{1, 'string', $valueOfVar}

Operasi map

mapKeys

Mengekstrak semua kunci dari objek JSON atau map dan mengembalikannya sebagai array string.

Sintaks

mapKeys(map)

Parameter

ParameterTipeWajibDeskripsi
mapmap[string]anyYaObjek JSON atau map tempat kunci diekstrak

Tipe kembalian: []string

Contoh

mapKeys({"name": "Tom", "age": 10})
// Mengembalikan: ["name", "age"]

mapValues

Mengekstrak semua nilai dari objek JSON atau map dan mengembalikannya sebagai array.

Sintaks

mapValues(map)

Parameter

ParameterTipeWajibDeskripsi
mapmap[string]anyYaObjek JSON atau map tempat nilai diekstrak

Tipe kembalian: []any

Contoh

mapValues({"name": "Tom", "age": 10})
// Mengembalikan: ["Tom", 10]

mapValuesPartition

Mengekstrak semua nilai dari objek JSON atau map dan mempartisinya menjadi sub-array dengan ukuran tertentu.

Sintaks

mapValuesPartition(map, stepSize)

Parameter

ParameterTipeWajibDeskripsi
mapmap[string]anyYaObjek JSON atau map tempat nilai diekstrak
stepSizeintYaJumlah elemen per sub-array

Tipe kembalian: [][]any

Contoh

mapValuesPartition({"name": "Tom", "age": 10}, 1) // Mengembalikan: ["Tom"],[10]

Pengkodean dan penguraian data

toBase64

Mengencode string ke Base64.

Sintaks

toBase64(value)

Parameter

ParameterTipeWajibDeskripsi
valuestringYaString yang akan diencode

Tipe kembalian: string

Contoh

toBase64("FnF")
// Mengembalikan: "Rm5G"

fromBase64

Mengurai string yang diencode Base64 kembali ke nilai aslinya.

Sintaks

fromBase64(value)

Perhitungan hash dan pembuatan UUID

hash

Menghasilkan nilai hash untuk input yang diberikan menggunakan algoritma tertentu.

Sintaks

hash(input, algorithm)

Parameter

ParameterTipeWajibDeskripsi
inputstringYaString yang akan di-hash
algorithmstringYaAlgoritma hash. Nilai yang didukung: MD5, SHA-1, SHA-256, SHA-512

Tipe kembalian: string

Contoh

hash("abc", "MD5")
// Mengembalikan: "900150983cd24fb0d6963f7d28e17f72"

Penggunaan FDL:

{
  "checksum.$": "hash($input.payload, 'SHA-256')"
}

uuid

Menghasilkan pengidentifikasi unik universal (UUID).

Syntax uuid()

Parameter

Tidak ada.

Tipe kembalian: string

Contoh

uuid() // Mengembalikan: "159fd8c1-2ec3-4d7b-b9fd-60b9d8841000"

FDL uid="dfc2079465bd1_22"e-type="xCode" data-tag="codeblock" id="dfc2079465bd1" outputclass="language-json">>>{ "requestId.$": "uuid()" }

Operasi data JSON

jsonToString

Mengonversi objek JSON atau map menjadi representasi string-nya.

Syid="dfc2079465bd1_23"code-type="xCode" data-tag="codeblock" id="dfc2079465bd1" outputclass="language-bash">jsonToString(value)

Parameter

ParameterTipeWajibDeskripsi
valuemap[string]anyYaObjek JSON atau map yang akan diserialisasi

Tipe kembalian: string

Contoh

toJSON({"name": "Tom", "age": 10}) // Mengembalikan: '{"name": "Tom", "age": 10}'

stringToJson

Mengurai string JSON menjadi objek JSON atau map.

Sintaks

stringToJson(value)

Parameter

ParameterTipeWajibDeskripsi
valuestringYaString JSON yang valid.

Tipe kembalian: map[string]any

Contoh

stringToJson('{"name": "Tom", "age": 10}')
// Mengembalikan: {"name": "Tom", "age": 10}

Penggunaan FDL:

{ "parsedBody.$": "stringToJson($input.responseBody)" }

jsonMerge

Menggabungkan dua objek JSON atau map menjadi satu.

jsonMerge(object1, object2)

Parameter

ParameterTipeWajibDeskripsi
object1map[string]anyYaObjek JSON atau map pertama.
object2map[string]anyYaObjek JSON atau map kedua.

Tipe kembalian: map[string]any

Contoh

jsonMerge({"name": "Tom", "age": 10}, {"name": "Tom", "address": "beijing"}) // Mengembalikan: {"name": "Tom", "age": 10, "address": "beijing"}
{
  "mergedConfig.$": "jsonMerge($input.defaultConfig, $input.userOverrides)"
}