Recursos de runtime 2.0 do JavaScript para CloudFront Functions
O ambiente de runtime do JavaScript do CloudFront Functions é compatível com o ECMAScript (ES) versão 5.1
Tópicos
Recursos principais
Os seguintes recursos principais do ES são compatíveis.
- Tipos
- 
                    Todos os tipos ES 5.1 são compatíveis. Isso inclui valores boolianos, números, strings, objetos, matrizes, funções e expressões regulares. 
- Operadores
- 
                    Todos os operadores ES 5.1 são compatíveis. O operador de exponenciação ES 7 ( **) é compatível.
- Declarações
- 
                    As seguintes instruções ES 5.1 são compatíveis: - 
                            break
- 
                            catch
- 
                            continue
- 
                            do-while
- 
                            else
- 
                            finally
- 
                            for
- 
                            for-in
- 
                            if
- 
                            label
- 
                            return
- 
                            switch
- 
                            throw
- 
                            try
- 
                            var
- 
                            while
 As seguintes instruções do ES 6 são compatíveis: - 
                            const
- 
                            let
 As seguintes instruções do ES 8 são compatíveis: - async
- 
                            await
 notaasync,await,consteletsão compatíveis com o runtime 2.0 do JavaScript.awaitpode ser usado apenas dentro de funçõesasync. Encerramentos e argumentosasyncnão são compatíveis.
- 
                            
- Literais
- 
                    Os literais de modelo ES 6 são compatíveis: cadeias de várias linhas, interpolação de expressão e modelos de aninhamento. 
- Funções
- 
                    Todos os recursos de função ES 5.1 são compatíveis. As funções de seta ES 6 são compatíveis, assim como a sintaxe de parâmetro de descanso ES 6. 
- Unicode
- 
                    Texto de origem e literais de cadeias de caracteres podem conter caracteres codificados em Unicode. Sequências de escape de ponto de código Unicode de seis caracteres (por exemplo, \uXXXX) também são compatíveis.
- Modo estrito
- 
                    As funções operam no modo estrito por padrão, então você não precisa adicionar uma instrução use strictao seu código de função. Elas não podem ser alteradas.
Objetos primitivos
Os seguintes objetos primitivos de ES são compatíveis.
- Objeto
- 
                    Os seguintes métodos ES 5.1 em objetos são compatíveis: - 
                            Object.create()(sem lista de propriedades)
- 
                            Object.defineProperties()
- 
                            Object.defineProperty()
- 
                            Object.freeze()
- 
                            Object.getOwnPropertyDescriptor()
- 
                            Object.getOwnPropertyDescriptors()
- 
                            Object.getOwnPropertyNames()
- 
                            Object.getPrototypeOf()
- 
                            Object.isExtensible()
- 
                            Object.isFrozen()
- 
                            Object.isSealed()
- 
                            Object.keys()
- 
                            Object.preventExtensions()
- 
                            Object.seal()
 Os seguintes métodos ES 6 em objetos são compatíveis: - 
                            Object.assign()
 Os seguintes métodos ES 8 em objetos são compatíveis: - 
                            Object.entries()
- 
                            Object.values()
 Os seguintes métodos de protótipo do ES 5.1 em objetos são compatíveis: - 
                            Object.prototype.hasOwnProperty()
- 
                            Object.prototype.isPrototypeOf()
- 
                            Object.prototype.propertyIsEnumerable()
- 
                            Object.prototype.toString()
- 
                            Object.prototype.valueOf()
 Os seguintes métodos de protótipo do ES 6 em objetos são compatíveis: - 
                            Object.prototype.is()
- 
                            Object.prototype.setPrototypeOf()
 
- 
                            
- String
- 
                    
                    Os seguintes métodos ES 5.1 em cadeias de caracteres são compatíveis: - String.fromCharCode()
 Os seguintes métodos ES 6 em cadeias de caracteres são compatíveis: - String.fromCodePoint()
 Os seguintes métodos de protótipo do ES 5.1 em strings são compatíveis: - 
                            String.prototype.charAt()
- 
                            String.prototype.concat()
- 
                            String.prototype.indexOf()
- 
                            String.prototype.lastIndexOf()
- 
                            String.prototype.match()
- 
                            String.prototype.replace()
- 
                            String.prototype.search()
- 
                            String.prototype.slice()
- 
                            String.prototype.split()
- 
                            String.prototype.substr()
- 
                            String.prototype.substring()
- 
                            String.prototype.toLowerCase()
- 
                            String.prototype.trim()
- 
                            String.prototype.toUpperCase()
 Os seguintes métodos de protótipo do ES 6 em strings são compatíveis: - 
                            String.prototype.codePointAt()
- 
                            String.prototype.endsWith()
- 
                            String.prototype.includes()
- 
                            String.prototype.repeat()
- 
                            String.prototype.startsWith()
 Os seguintes métodos de protótipo do ES 8 em strings são compatíveis: - 
                            String.prototype.padStart()
- 
                            String.prototype.padEnd()
 Os seguintes métodos de protótipo do ES 9 em strings são compatíveis: - 
                            String.prototype.trimStart()
- 
                            String.prototype.trimEnd()
 Os seguintes métodos de protótipo do ES 12 em strings são compatíveis: - String.prototype.replaceAll()- nota- String.prototype.replaceAll()é um recurso novo no runtime 2.0 do JavaScript.
 
- Número
- 
                    Todos os números do ES 5 são compatíveis. As seguintes propriedades do ES 6 em números são compatíveis: - Number.EPSILON
- 
                            Number.MAX_SAFE_INTEGER
- 
                            Number.MIN_SAFE_INTEGER
- 
                            Number.MAX_VALUE
- 
                            Number.MIN_VALUE
- 
                            Number.NaN
- 
                            Number.NEGATIVE_INFINITY
- 
                            Number.POSITIVE_INFINITY
 Os seguintes métodos ES 6 em números são compatíveis: - 
                            Number.isFinite()
- 
                            Number.isInteger()
- 
                            Number.isNaN()
- 
                            Number.isSafeInteger()
- 
                            Number.parseInt()
- 
                            Number.parseFloat()
 Os seguintes métodos de protótipo do ES 5.1 em números são compatíveis: - 
                            Number.prototype.toExponential()
- 
                            Number.prototype.toFixed()
- 
                            Number.prototype.toPrecision()
 Separadores numéricos ES 12 são compatíveis. notaOs separadores numéricos ES 12 são novos no runtime 2.0 do JavaScript. 
Objetos integrados
Os seguintes objetos integrados do ES são compatíveis.
- Matemática
- 
                    Todos os métodos matemáticos ES 5.1 são compatíveis. notaNo ambiente de tempo de execução do CloudFront Functions, a implementação Math.random()usa o OpenBSDarc4randompropagado com o carimbo de data/hora de quando a função é executada.As seguintes propriedades matemáticas do ES 6 são compatíveis: - 
                            Math.E
- 
                            Math.LN10
- 
                            Math.LN2
- 
                            Math.LOG10E
- 
                            Math.LOG2E
- 
                            Math.PI
- 
                            Math.SQRT1_2
- 
                            Math.SQRT2
 Os seguintes métodos matemáticos ES 6 são compatíveis: - 
                            Math.abs()
- 
                            Math.acos()
- 
                            Math.acosh()
- 
                            Math.asin()
- 
                            Math.asinh()
- 
                            Math.atan()
- 
                            Math.atan2()
- 
                            Math.atanh()
- 
                            Math.cbrt()
- 
                            Math.ceil()
- 
                            Math.clz32()
- 
                            Math.cos()
- 
                            Math.cosh()
- 
                            Math.exp()
- 
                            Math.expm1()
- 
                            Math.floor()
- 
                            Math.fround()
- 
                            Math.hypot()
- 
                            Math.imul()
- 
                            Math.log()
- 
                            Math.log1p()
- 
                            Math.log2()
- 
                            Math.log10()
- 
                            Math.max()
- 
                            Math.min()
- 
                            Math.pow()
- 
                            Math.random()
- 
                            Math.round()
- 
                            Math.sign()
- 
                            Math.sinh()
- 
                            Math.sin()
- 
                            Math.sqrt()
- 
                            Math.tan()
- 
                            Math.tanh()
- 
                            Math.trunc()
 
- 
                            
- Data
- 
                    Todos os recursos Datedo ES 5.1 são compatíveis.notaPor razões de segurança, Datesempre retorna o mesmo valor, que seria o horário de início da função, durante o tempo de vida de uma única execução de função. Para obter mais informações, consulte Recursos restritos.
- Função
- 
                    Os seguintes métodos de protótipo do ES 5.1 são compatíveis: - Function.prototype.apply()
- 
                            Function.prototype.bind()
- 
                            Function.prototype.call()
 Os construtores de função não são compatíveis. 
- Expressões regulares
- 
                    Todos os recursos de expressão regular ES 5.1 são compatíveis. A linguagem de expressão regular é compatível com Perl. As seguintes propriedades do acessador de protótipos do ES 5.1 são compatíveis: - 
                            RegExp.prototype.global
- 
                            RegExp.prototype.ignoreCase
- 
                            RegExp.protoype.multiline
- 
                            RegExp.protoype.source
- 
                            RegExp.prototype.sticky
- 
                            RegExp.prototype.flagsnotaRegExp.prototype.stickyeRegExp.prototype.flagssão recursos novos no runtime 2.0 do JavaScript.
 Os seguintes métodos de protótipo do ES 5.1 são compatíveis: - 
                            RegExp.prototype.exec()
- 
                            RegExp.prototype.test()
- 
                            RegExp.prototype.toString()
- 
                            RegExp.prototype[@@replace]()
- 
                            RegExp.prototype[@@split]()notaRegExp.prototype[@@split]()é um recurso novo no runtime 2.0 do JavaScript.
 As seguintes propriedades de instância do ES 5.1 são compatíveis: - 
                            lastIndex
 Os grupos de captura nomeados ES 9 são compatíveis. 
- 
                            
- JSON
- 
                    Os seguintes métodos do ES 5.1 são compatíveis: - 
                            JSON.parse()
- 
                            JSON.stringify()
 
- 
                            
- Array
- 
                    Os seguintes métodos ES 5.1 em matrizes são compatíveis: - 
                            Array.isArray()
 Os seguintes métodos ES 6 em matrizes são compatíveis: - 
                            Array.of()
 Os seguintes métodos de protótipo do ES 5.1 são compatíveis: - 
                            Array.prototype.concat()
- 
                            Array.prototype.every()
- 
                            Array.prototype.filter()
- 
                            Array.prototype.forEach()
- 
                            Array.prototype.indexOf()
- 
                            Array.prototype.join()
- 
                            Array.prototype.lastIndexOf()
- 
                            Array.prototype.map()
- 
                            Array.prototype.pop()
- 
                            Array.prototype.push()
- 
                            Array.prototype.reduce()
- 
                            Array.prototype.reduceRight()
- 
                            Array.prototype.reverse()
- 
                            Array.prototype.shift()
- 
                            Array.prototype.slice()
- 
                            Array.prototype.some()
- 
                            Array.prototype.sort()
- 
                            Array.prototype.splice()
- 
                            Array.prototype.unshift()
 Os seguintes métodos de protótipo do ES 6 são compatíveis - 
                            Array.prototype.copyWithin()
- 
                            Array.prototype.fill()
- 
                            Array.prototype.find()
- 
                            Array.prototype.findIndex()
 Os seguintes métodos de protótipo do ES 7 são compatíveis: - Array.prototype.includes()
 
- 
                            
- Matrizes digitadas
- 
                    Os seguintes construtores de matriz de tipo do ES 6 são compatíveis: - 
                            Float32Array
- 
                            Float64Array
- 
                            Int8Array
- 
                            Int16Array
- 
                            Int32Array
- 
                            Uint8Array
- 
                            Uint8ClampedArray
- 
                            Uint16Array
- 
                            Uint32Array
 Os seguintes métodos do ES 6 são compatíveis: - 
                            TypedArray.from()
- 
                            TypedArray.of()notaTypedArray.from()eTypedArray.of()são recursos novos no runtime 2.0 do JavaScript.
 Os seguintes métodos de protótipo do ES 6 são compatíveis - 
                            TypedArray.prototype.copyWithin()
- 
                            TypedArray.prototype.every()
- 
                            TypedArray.prototype.fill()
- 
                            TypedArray.prototype.filter()
- 
                            TypedArray.prototype.find()
- 
                            TypedArray.prototype.findIndex()
- 
                            TypedArray.prototype.forEach()
- 
                            TypedArray.prototype.includes()
- 
                            TypedArray.prototype.indexOf()
- 
                            TypedArray.prototype.join()
- 
                            TypedArray.prototype.lastIndexOf()
- 
                            TypedArray.prototype.map()
- 
                            TypedArray.prototype.reduce()
- 
                            TypedArray.prototype.reduceRight()
- 
                            TypedArray.prototype.reverse()
- 
                            TypedArray.prototype.some()
- 
                            TypedArray.prototype.set()
- 
                            TypedArray.prototype.slice()
- 
                            TypedArray.prototype.sort()
- 
                            TypedArray.prototype.subarray()
- 
                            TypedArray.prototype.toString()notaTypedArray.prototype.every(),TypedArray.prototype.fill(),TypedArray.prototype.filter(),TypedArray.prototype.find(),TypedArray.prototype.findIndex(),TypedArray.prototype.forEach(),TypedArray.prototype.includes(),TypedArray.prototype.indexOf(),TypedArray.prototype.join(),TypedArray.prototype.lastIndexOf(),TypedArray.prototype.map(),TypedArray.prototype.reduce(),TypedArray.prototype.reduceRight(),TypedArray.prototype.reverse()eTypedArray.prototype.some()são recursos novos no runtime 2.0 do JavaScript.
 
- 
                            
- ArrayBuffer
- 
                    Os seguintes métodos do ES 6 em ArrayBuffer são compatíveis: - 
                            isView()
 Os seguintes métodos de protótipo do ES 6 em ArrayBuffer são compatíveis: - 
                            ArrayBuffer.prototype.slice()
 
- 
                            
- Promessa
- 
                    Os seguintes métodos do ES 6 em promises são compatíveis: - 
                            Promise.all()
- 
                            Promise.allSettled()
- 
                            Promise.any()
- 
                            Promise.reject()
- 
                            Promise.resolve()
- 
                            Promise.race()notaPromise.all(),Promise.allSettled(),Promise.any()ePromise.race()são recursos novos no runtime 2.0 do JavaScript.
 Os seguintes métodos de protótipo do ES 6 em promises são compatíveis: - 
                            Promise.prototype.catch()
- 
                            Promise.prototype.finally()
- 
                            Promise.prototype.then()
 
- 
                            
- DataView
- 
                Os seguintes métodos de protótipo do ES 6 são compatíveis: - 
                            DataView.prototype.getFloat32()
- 
                            DataView.prototype.getFloat64()
- 
                            DataView.prototype.getInt16()
- 
                            DataView.prototype.getInt32()
- 
                            DataView.prototype.getInt8()
- 
                            DataView.prototype.getUint16()
- 
                            DataView.prototype.getUint32()
- 
                            DataView.prototype.getUint8()
- 
                            DataView.prototype.setFloat32()
- 
                            DataView.prototype.setFloat64()
- 
                            DataView.prototype.setInt16()
- 
                            DataView.prototype.setInt32()
- 
                            DataView.prototype.setInt8()
- 
                            DataView.prototype.setUint16()
- 
                            DataView.prototype.setUint32()
- 
                            DataView.prototype.setUint8()notaTodos os métodos de protótipo do Dataview ES 6 são novos no runtime 2.0 do JavaScript. 
 
- 
                            
- Símbolo
- 
                    Os seguintes métodos do ES 6 são compatíveis: - 
                            Symbol.for()
- 
                            Symbol.keyfor()notaTodos os métodos do Symbol ES 6 são novos no runtime 2.0 do JavaScript. 
 
- 
                            
- Decodificador de texto
- 
                    Os seguintes métodos de protótipo são compatíveis: - 
                            TextDecoder.prototype.decode()
 As seguintes propriedades do acessador de protótipos são compatíveis: - 
                            TextDecoder.prototype.encoding
- 
                            TextDecoder.prototype.fatal
- 
                            TextDecoder.prototype.ignoreBOM
 
- 
                            
- Codificador de texto
- 
                    Os seguintes métodos de protótipo são compatíveis: - 
                            TextEncoder.prototype.encode()
- 
                            TextEncoder.prototype.encodeInto()
 
- 
                            
Tipos de erro
Os seguintes objetos de erro são compatíveis:
- 
                Error
- 
                EvalError
- 
                InternalError
- 
                RangeError
- 
                ReferenceError
- 
                SyntaxError
- 
                TypeError
- 
                URIError
Variáveis globais
O objeto globalThis é compatível.
As seguintes funções globais do ES 5.1 são compatíveis:
- 
                decodeURI()
- 
                decodeURIComponent()
- 
                encodeURI()
- 
                encodeURIComponent()
- 
                isFinite()
- 
                isNaN()
- 
                parseFloat()
- 
                parseInt()
As seguintes funções globais do ES 6 são compatíveis:
- atob()
- 
                btoa()notaatob()ebtoa()são recursos novos no runtime 2.0 do JavaScript.
As seguintes restrições globais são válidas:
- 
                NaN
- 
                Infinity
- 
                undefined
- 
                arguments
Módulos integrados
Os seguintes módulos integrados são compatíveis:
Buffer
O módulo oferece os seguintes métodos:
- 
                    Buffer.alloc(size[, fill[, encoding]])Aloque um Buffer.- 
                            size: tamanho do buffer. Insira um número inteiro.
- 
                            fill: opcional. Insira uma string,Buffer, Uint8Array ou um número inteiro. O padrão é0.
- 
                            encoding: opcional. Quandofillfor uma string, insira uma das seguintes opções:utf8,hex,base64ebase64url. O padrão éutf8.
 
- 
                            
- 
                    Buffer.allocUnsafe(size)Aloque um Buffernão inicializado.- 
                            size: insira um número inteiro.
 
- 
                            
- 
                    Buffer.byteLength(value[, encoding])Exibe o tamanho de um valor, em bytes. - 
                            value: uma string,Buffer, TypedArray, Dataview ou Arraybuffer.
- 
                            encoding: opcional. Quandovaluefor uma string, insira uma das seguintes opções:utf8,hex,base64ebase64url. O padrão éutf8.
 
- 
                            
- 
                    Buffer.compare(buffer1, buffer2)Compare dois Buffers para ajudar a classificar matrizes. Exibirá0se forem iguais,-1sebuffer1vier primeiro ou1sebuffer2vier primeiro.- 
                            buffer1: insira umBuffer.
- 
                            buffer2: insira umBufferdiferente.
 
- 
                            
- 
                    Buffer.concat(list[, totalLength])Concatene vários Buffers. Exibirá0se for nenhum. Exibe atétotalLength.- 
                            list: insira uma lista deBuffers. Observe que isso será truncado paratotalLength.
- 
                            totalLength: opcional. Insira um número inteiro não assinado. Use a soma das instâncias deBufferna lista se estiver em branco.
 
- 
                            
- 
                    Buffer.from(array)Crie um Bufferpor uma matriz.- 
                            array: insira uma matriz de bytes de0a255.
 
- 
                            
- 
                    Buffer.from(arrayBuffer, byteOffset[, length]))Crie uma visualização de arrayBuffercomeçando pelo deslocamentobyteOffsetcom o tamanholength.- 
                            arrayBuffer: insira uma matrizBuffer.
- 
                            byteOffset: insira um número inteiro.
- 
                            length: opcional. Insira um número inteiro.
 
- 
                            
- 
                    Buffer.from(buffer)Crie uma cópia do Buffer.- 
                            buffer: insira umBuffer.
 
- 
                            
- 
                    Buffer.from(object[, offsetOrEncoding[, length]])Crie um Bufferpor meio de um objeto. ExibiráBuffer.from(object.valueOf(), offsetOrEncoding, length)sevalueOf()não for igual ao objeto.- 
                            object: insira um objeto.
- 
                            offsetOrEncoding: opcional. Insira um número inteiro ou uma string de codificação.
- 
                            length: opcional. Insira um número inteiro.
 
- 
                            
- 
                    Buffer.from(string[, encoding])Crie um Bufferpor meio de uma string.- 
                            string: insira uma string.
- 
                            encoding: opcional. Insira uma das seguintes opções:utf8,hex,base64ebase64url. O padrão éutf8.
 
- 
                            
- 
                    Buffer.isBuffer(object)Confira se objecté um buffer. Retornatrueoufalse.- 
                            object: insira um objeto.
 
- 
                            
- 
                    Buffer.isEncoding(encoding)Confira se encodingé compatível. Retornatrueoufalse.- 
                            encoding: opcional. Insira uma das seguintes opções:utf8,hex,base64ebase64url. O padrão éutf8.
 
- 
                            
O módulo oferece os seguintes métodos de protótipo de buffer:
- 
                    Buffer.prototype.compare(target[, targetStart[, targetEnd[, sourceStart[, sourceEnd]]]])Compare Buffercom o destino. Exibirá0se forem iguais,1sebuffervier primeiro ou-1setargetvier primeiro.- 
                            target: insira umBuffer.
- 
                            targetStart: opcional. Insira um número inteiro. O padrão é 0.
- 
                            targetEnd: opcional. Insira um número inteiro. O padrão é o tamanho dotarget.
- 
                            sourceStart: opcional. Insira um número inteiro. O padrão é 0.
- 
                            sourceEnd: opcional. Insira um número inteiro. O padrão é o tamanho doBuffer.
 
- 
                            
- 
                    Buffer.prototype.copy(target[, targetStart[, sourceStart[, sourceEnd]]])Copie o buffer em target.- 
                            target: insira umBufferou umaUint8Array.
- 
                            targetStart: opcional. Insira um número inteiro. O padrão é 0.
- 
                            sourceStart: opcional. Insira um número inteiro. O padrão é 0.
- 
                            sourceEnd: opcional. Insira um número inteiro. O padrão é o tamanho doBuffer.
 
- 
                            
- 
                    Buffer.prototype.equals(otherBuffer)Compare BuffercomotherBuffer. Retornatrueoufalse.- 
                            otherBuffer: insira uma string.
 
- 
                            
- 
                    Buffer.prototype.fill(value[, offset[, end][, encoding])Preencha Buffercomvalue.- 
                            value: insira uma string, umBufferou um número inteiro.
- 
                            offset: opcional. Insira um número inteiro.
- 
                            end: opcional. Insira um número inteiro.
- 
                            encoding: opcional. Insira uma das seguintes opções:utf8,hex,base64ebase64url. O padrão éutf8.
 
- 
                            
- 
                    Buffer.prototype.includes(value[, byteOffset][, encoding])Pesquise valuenoBuffer. Retornatrueoufalse.- 
                            value: insira uma string, umBuffer, umaUint8Arrayou um número inteiro.
- 
                            byteOffset: opcional. Insira um número inteiro.
- 
                            encoding: opcional. Insira uma das seguintes opções:utf8,hex,base64ebase64url. O padrão éutf8.
 
- 
                            
- 
                    Buffer.prototype.indexOf(value[, byteOffset][, encoding])Procure o primeiro valueemBuffer. Exibiráindexse for encontrado; exibirá-1se não for encontrado.- 
                            value: insira uma string,Buffer, Unit8Array ou um número inteiro de 0 a 255.
- 
                            byteOffset: opcional. Insira um número inteiro.
- 
                            encoding: opcional. Insira uma das seguintes opções sevaluefor uma string:utf8,hex,base64ebase64url. O padrão éutf8.
 
- 
                            
- 
                    Buffer.prototype.lastIndexOf(value[, byteOffset][, encoding])Procure o último valueemBuffer. Exibiráindexse for encontrado; exibirá-1se não for encontrado.- 
                            value: insira uma string,Buffer, Unit8Array ou um número inteiro de 0 a 255.
- 
                            byteOffset: opcional. Insira um número inteiro.
- 
                            encoding: opcional. Insira uma das seguintes opções sevaluefor uma string:utf8,hex,base64ebase64url. O padrão éutf8.
 
- 
                            
- 
                    Buffer.prototype.readInt8(offset)Leia Int8emoffsetdeBuffer.- 
                            offset: insira um número inteiro.
 
- 
                            
- 
                    Buffer.prototype.readIntBE(offset, byteLength)Leia Intcomo big-endian emoffsetdeBuffer.- 
                            offset: insira um número inteiro.
- 
                            byteLength: opcional. Insira um número inteiro de1a6.
 
- 
                            
- 
                    Buffer.prototype.readInt16BE(offset)Leia Int16como big-endian emoffsetdeBuffer.- 
                            offset: insira um número inteiro.
 
- 
                            
- 
                    Buffer.prototype.readInt32BE(offset)Leia Int32como big-endian emoffsetdeBuffer.- 
                            offset: insira um número inteiro.
 
- 
                            
- 
                    Buffer.prototype.readIntLE(offset, byteLength)Leia Intcomo little-endian emoffsetdeBuffer.- 
                            offset: insira um número inteiro.
- 
                            byteLength: insira um número inteiro de1a6.
 
- 
                            
- 
                    Buffer.prototype.readInt16LE(offset)Leia Int16como little-endian emoffsetdeBuffer.- 
                            offset: insira um número inteiro.
 
- 
                            
- 
                    Buffer.prototype.readInt32LE(offset)Leia Int32como little-endian emoffsetdeBuffer.- 
                            offset: insira um número inteiro.
 
- 
                            
- 
                    Buffer.prototype.readUInt8(offset)Leia UInt8emoffsetdeBuffer.- 
                            offset: insira um número inteiro.
 
- 
                            
- 
                    Buffer.prototype.readUIntBE(offset, byteLength)Leia UIntcomo big-endian emoffsetdeBuffer.- 
                            offset: insira um número inteiro.
- 
                            byteLength: insira um número inteiro de1a6.
 
- 
                            
- 
                    Buffer.prototype.readUInt16BE(offset)Leia UInt16como big-endian emoffsetdeBuffer.
- 
                    - 
                            offset: insira um número inteiro.
 
- 
                            
- 
                    Buffer.prototype.readUInt32BE(offset)Leia UInt32como big-endian emoffsetdeBuffer.- 
                            offset: insira um número inteiro.
 
- 
                            
- 
                    Buffer.prototype.readUIntLE(offset, byteLength)Leia UIntcomo little-endian emoffsetdeBuffer.- 
                            offset: insira um número inteiro.
- 
                            byteLength: insira um número inteiro de1a6.
 
- 
                            
- 
                    Buffer.prototype.readUInt16LE(offset)Leia UInt16como little-endian emoffsetdeBuffer.- 
                            offset: insira um número inteiro.
 
- 
                            
- 
                    Buffer.prototype.readUInt32LE(offset)Leia UInt32como little-endian emoffsetdeBuffer.- 
                            offset: insira um número inteiro.
 
- 
                            
- 
                    Buffer.prototype.readDoubleBE([offset])Leia um double de 64 bits como big-endian em offsetdeBuffer.- 
                            offset: opcional. Insira um número inteiro.
 
- 
                            
- 
                    Buffer.prototype.readDoubleLE([offset])Leia um double de 64 bits como little-endian em offsetdeBuffer.- 
                            offset: opcional. Insira um número inteiro.
 
- 
                            
- 
                    Buffer.prototype.readFloatBE([offset])Leia um float de 32 bits como big-endian em offsetdeBuffer.- 
                            offset: opcional. Insira um número inteiro.
 
- 
                            
- 
                    Buffer.prototype.readFloatLE([offset])Leia um float de 32 bits como little-endian em offsetdeBuffer.- 
                            offset: opcional. Insira um número inteiro.
 
- 
                            
- 
                    Buffer.prototype.subarray([start[, end]])Exibe uma cópia do Bufferque está deslocado e recortado com novosstarteend.- 
                            start: opcional. Insira um número inteiro. O padrão é 0.
- 
                            end: opcional. Insira um número inteiro. O padrão é o tamanho do buffer.
 
- 
                            
- 
                    Buffer.prototype.swap16()Troque a ordem de bytes da matriz de Buffertratando-a como uma matriz de números de 16 bits. O tamanho doBufferdeve ser divisível por 2, ou você receberá um erro.
- 
                    Buffer.prototype.swap32()Troque a ordem de bytes da matriz de Buffertratando-a como uma matriz de números de 32 bits. O tamanho doBufferdeve ser divisível por 4, ou você receberá um erro.
- 
                    Buffer.prototype.swap64()Troque a ordem de bytes da matriz de Buffertratando-a como uma matriz de números de 64 bits. O tamanho doBufferdeve ser divisível por 8, ou você receberá um erro.
- 
                    Buffer.prototype.toJSON()Exibe Buffercomo JSON.
- 
                    Buffer.prototype.toString([encoding[, start[, end]]])Converta Buffer, destartemendem string codificada.- 
                            encoding: opcional. Insira uma das seguintes opções:utf8,hex,base64oubase64url. O padrão éutf8.
- 
                            start: opcional. Insira um número inteiro. O padrão é 0.
- 
                            end: opcional. Insira um número inteiro. O padrão é o tamanho do buffer.
 
- 
                            
- 
                    Buffer.prototype.write(string[, offset[, length]][, encoding])Escreva stringcodificado emBufferse houver espaço ou umstringtruncado se não houver espaço suficiente.- 
                            string: insira uma string.
- 
                            offset: opcional. Insira um número inteiro. O padrão é 0.
- 
                            length: opcional. Insira um número inteiro. O padrão é o tamanho da string.
- 
                            encoding: opcional. Opcionalmente, insira uma das seguintes opções:utf8,hex,base64oubase64url. O padrão éutf8.
 
- 
                            
- 
                    Buffer.prototype.writeInt8(value, offset, byteLength)Escreva Int8valuedebyteLengthemoffsetparaBuffer.- 
                            value: insira um número inteiro.
- 
                            offset: insira um número inteiro.
- 
                            byteLength: insira um número inteiro de1a6.
 
- 
                            
- 
                    Buffer.prototype.writeIntBE(value, offset, byteLength)Escreva valueemoffsetparaBuffer, usando big-endian.- 
                            value: insira um número inteiro.
- 
                            offset: insira um número inteiro.
- 
                            byteLength: insira um número inteiro de1a6.
 
- 
                            
- 
                    Buffer.prototype.writeInt16BE(value, offset, byteLength)Escreva valueemoffsetparaBuffer, usando big-endian.- 
                            value: insira um número inteiro.
- 
                            offset: insira um número inteiro.
- 
                            byteLength: insira um número inteiro de1a6.
 
- 
                            
- 
                    Buffer.prototype.writeInt32BE(value, offset, byteLength)Escreva valueemoffsetparaBuffer, usando big-endian.- 
                            value: insira um número inteiro.
- 
                            offset: insira um número inteiro.
- 
                            byteLength: insira um número inteiro de1a6.
 
- 
                            
- 
                    Buffer.prototype.writeIntLE(offset, byteLength)Escreva valueemoffsetparaBuffer, usando little-endian.- 
                            offset: insira um número inteiro.
- 
                            byteLength: insira um número inteiro de1a6.
 
- 
                            
- 
                    Buffer.prototype.writeInt16LE(offset, byteLength)Escreva valueemoffsetparaBuffer, usando little-endian.- 
                            offset: insira um número inteiro.
- 
                            byteLength: insira um número inteiro de1a6.
 
- 
                            
- 
                    Buffer.prototype.writeInt32LE(offset, byteLength)Escreva valueemoffsetparaBuffer, usando little-endian.- 
                            offset: insira um número inteiro.
- 
                            byteLength: insira um número inteiro de1a6.
 
- 
                            
- 
                    Buffer.prototype.writeUInt8(value, offset, byteLength)Escreva UInt8valuedebyteLengthemoffsetparaBuffer.- 
                            value: insira um número inteiro.
- 
                            offset: insira um número inteiro.
- 
                            byteLength: insira um número inteiro de1a6.
 
- 
                            
- 
                    Buffer.prototype.writeUIntBE(value, offset, byteLength)Escreva valueemoffsetparaBuffer, usando big-endian.- 
                            value: insira um número inteiro.
- 
                            offset: insira um número inteiro.
- 
                            byteLength: insira um número inteiro de1a6.
 
- 
                            
- 
                    Buffer.prototype.writeUInt16BE(value, offset, byteLength)Escreva valueemoffsetparaBuffer, usando big-endian.- 
                            value: insira um número inteiro.
- 
                            offset: insira um número inteiro.
- 
                            byteLength: insira um número inteiro de1a6.
 
- 
                            
- 
                    Buffer.prototype.writeUInt32BE(value, offset, byteLength)Escreva valueemoffsetparaBuffer, usando big-endian.- 
                            value: insira um número inteiro.
- 
                            offset: insira um número inteiro.
- 
                            byteLength: insira um número inteiro de1a6.
 
- 
                            
- 
                    Buffer.prototype.writeUIntLE(value, offset, byteLength)Escreva valueemoffsetparaBuffer, usando little-endian.- 
                            value: insira um número inteiro.
- 
                            offset: insira um número inteiro.
- 
                            byteLength: insira um número inteiro de1a6.
 
- 
                            
- 
                    Buffer.prototype.writeUInt16LE(value, offset, byteLength)Escreva valueemoffsetparaBuffer, usando little-endian.- 
                            value: insira um número inteiro.
- 
                            offset: insira um número inteiro.
- 
                            byteLength: insira um número inteiro de1a6.
 
- 
                            
- 
                    Buffer.prototype.writeUInt32LE(value, offset, byteLength)Escreva valueemoffsetparaBuffer, usando little-endian.- 
                            value: insira um número inteiro.
- 
                            offset: insira um número inteiro.
- 
                            byteLength: insira um número inteiro de1a6.
 
- 
                            
- 
                    Buffer.prototype.writeDoubleBE(value, [offset])Escreva valueemoffsetparaBuffer, usando big-endian.- 
                            value: insira um número inteiro.
- 
                            offset: opcional. Insira um número inteiro. O padrão é 0.
 
- 
                            
- 
                    Buffer.prototype.writeDoubleLE(value, [offset])Escreva valueemoffsetparaBuffer, usando little-endian.- 
                            value: insira um número inteiro.
- 
                            offset: opcional. Insira um número inteiro. O padrão é 0.
 
- 
                            
- 
                    Buffer.prototype.writeFloatBE(value, [offset])Escreva valueemoffsetparaBuffer, usando big-endian.- 
                            value: insira um número inteiro.
- 
                            offset: opcional. Insira um número inteiro. O padrão é 0.
 
- 
                            
- 
                    Buffer.prototype.writeFloatLE(value, [offset])Escreva valueemoffsetparaBuffer, usando little-endian.- 
                            value: insira um número inteiro.
- 
                            offset: opcional. Insira um número inteiro. O padrão é 0.
 
- 
                            
Os seguintes métodos de instância são compatíveis:
- 
                    buffer[index]Obtenha e defina o octeto (byte) em indexemBuffer.- 
                            Obtenha um número de 0a255. Ou defina um número de0a255.
 
- 
                            
As seguintes propriedades de instância são compatíveis:
- 
                    bufferObtenha o objeto ArrayBufferpara o buffer.
- 
                    byteOffsetObtenha o byteOffsetdo objetoArraybufferdo buffer.
- 
                    lengthObtenha a contagem de bytes do buffer. 
nota
Todos os métodos do módulo de buffer são novos no runtime 2.0 do JavaScript.
String de consulta
nota
O objeto de evento CloudFront Functions analisa automaticamente as cadeias de consulta de URL para você. Isso significa que na maioria dos casos você não precisa usar este módulo.
O módulo cadeia de consulta (querystring) fornece métodos para analisar e formatar cadeias de consulta de URL. Você pode carregar o módulo usando require('querystring'). O módulo fornece os seguintes métodos:
- querystring.escape(string)
- 
                        O URL codifica a stringfornecida, retornando uma cadeia de consulta escapada. O método é usado porquerystring.stringify()e não deve ser usado diretamente.
- querystring.parse(string[, separator[, equal[, options]]])
- 
                        Analisa uma cadeia de consulta ( string) e retorna um objeto.O parâmetro separatoré uma substring para delimitar pares de chaves e valores na cadeia de consulta. O padrão é&.O parâmetro equalé uma substring para delimitar chaves e valores na cadeia de consulta. O padrão é=.O parâmetro optionsé um objeto com as seguintes chaves:- decodeURIComponent function
- 
                                    Uma função para decodificar caracteres codificados por percentual na cadeia de consulta. O padrão é querystring.unescape().
- maxKeys number
- 
                                    O número máximo de chaves a serem analisadas. O padrão é 1000. Use um valor de0para remover as limitações para as chaves de contagem.
 Por padrão, os caracteres codificados por percentual dentro da cadeia de consulta são assumidos para usar a codificação UTF-8. Sequências UTF-8 inválidas são substituídas pelo caractere de substituição U+FFFD.Por exemplo, para a seguinte cadeia de consulta: 'name=value&abc=xyz&abc=123'O valor de retorno de querystring.parse()é:{ name: 'value', abc: ['xyz', '123'] }querystring.decode()é um alias paraquerystring.parse().
- querystring.stringify(object[, separator[, equal[, options]]])
- 
                        Serializa um objecte retorna uma cadeia de consulta.O parâmetro separatoré uma substring para delimitar pares de chaves e valores na cadeia de consulta. O padrão é&.O parâmetro equalé uma substring para delimitar chaves e valores na cadeia de consulta. O padrão é=.O parâmetro optionsé um objeto com as seguintes chaves:- encodeURIComponent function
- 
                                    A função a ser usada para converter caracteres URL-inseguros para codificação percentual na cadeia de consulta. O padrão é querystring.escape().
 Por padrão, os caracteres que exigem percentual de codificação dentro da cadeia de consulta são codificados como UTF-8. Para usar uma codificação diferente, especifique a opção encodeURIComponent.Por exemplo, para o seguinte código: querystring.stringify({ name: 'value', abc: ['xyz', '123'], anotherName: '' });O valor de retorno é: 'name=value&abc=xyz&abc=123&anotherName='querystring.encode()é um alias paraquerystring.stringify().
- querystring.unescape(string)
- 
                        Decodifica caracteres codificados por porcentagem de URL na stringfornecida, retornando uma cadeia de consulta sem escapamento. Esse método é usado porquerystring.parse()e não deve ser usado diretamente.
Criptografia
O módulo criptográfico (crypto) fornece auxiliares de código de autenticação de mensagens (HMAC) padrão e hash. Você pode carregar o módulo usando require('crypto').
Métodos de hash
- crypto.createHash(algorithm)
- 
                        Cria e retorna um objeto hash que você pode usar para gerar resumos de hash usando o algoritmo fornecido: md5,sha1ousha256.
- hash.update(data)
- 
                        Atualiza o conteúdo de hash com os datafornecidos.
- hash.digest([encoding])
- 
                        Calcula o resumo de todos os dados passados usando hash.update(). A codificação pode serhex,base64oubase64url.
Métodos de HMAC
- crypto.createHmac(algorithm, secret key)
- 
                        Cria e retorna um objeto HMAC que usa o algorithme asecret keyfornecidos. O algoritmo pode sermd5,sha1ousha256.
- hmac.update(data)
- 
                        Atualiza o conteúdo HMAC com os datafornecidos.
- hmac.digest([encoding])
- 
                        Calcula o resumo de todos os dados passados usando hmac.update(). A codificação pode serhex,base64oubase64url.
Recursos restritos
Os seguintes recursos de linguagem JavaScript não são compatíveis ou são restritos devido a preocupações de segurança.
- Avaliação dinâmica do código
- 
                    A avaliação dinâmica do código não é compatível. Ambos os construtores eval()eFunctionlançam um erro se forem tentados. Por exemplo,const sum = new Function('a', 'b', 'return a + b')lança um erro.
- Temporizadores
- 
                    As funções setTimeout(),setImmediate()eclearTimeout()não são compatíveis. Não há provisão para adiar ou renderizar dentro de uma execução de função. Sua função deve ser executada de forma síncrona até a conclusão.
- Data e carimbos de data/hora
- 
                    Por razões de segurança, não há acesso a temporizadores de alta resolução. Todos os métodos Datepara consultar a hora atual sempre retornam o mesmo valor durante o tempo de vida de uma única execução de função. O carimbo de data/hora retornado é o momento em que a função começou a ser executada. Consequentemente, você não pode medir o tempo decorrido em sua função.
- Acesso ao sistema de arquivos
- 
                    Não há acesso ao sistema de arquivos. Por exemplo, não há módulo fspara acesso ao sistema de arquivos como no Node.js.
- Acesso a processos
- 
                    Não há acesso a processos. Por exemplo, não há um objeto global processpara processar o acesso às informações como no Node.js.
- Variáveis de ambiente
- 
                    Não há acesso às variáveis de ambiente. Em vez disso, é possível usar o KeyValueStore do CloudFront para criar um datastore centralizado de pares de chave-valor para o CloudFront Functions. O KeyValueStore do CloudFront permite atualizações dinâmicas nos dados de configuração sem a necessidade de implantar alterações no código. Para obter mais informações, consulte KeyValueStore do Amazon CloudFront. 
- Acesso à rede
- 
                    Não há suporte para chamadas de rede. Por exemplo, XHR, HTTP (S) e socket não são compatíveis.