JavaScript Runtime 2.0-Funktionen für CloudFront Funktionen - Amazon CloudFront

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

JavaScript Runtime 2.0-Funktionen für CloudFront Funktionen

Die JavaScript Runtime-Umgebung von CloudFront Functions ist kompatibel mit ECMAScript(ES) Version 5.1 und unterstützt auch einige Funktionen der ES-Versionen 6 bis 12. Sie enthält auch einige nicht standardmäßige Methoden, die nicht Teil der ES-Spezifikationen sind. In den folgenden Themen werden alle unterstützten Features dieser Laufzeit aufgeführt.

Kern-Features

Die folgenden Kern-Features von ES werden unterstützt.

Typen

Alle ES 5.1-Typen werden unterstützt. Dies umfasst boolesche Werte, Zahlen, Zeichenfolgen, Objekte, Arrays, Funktionen und reguläre Ausdrücke.

Operatoren

Alle ES 5.1-Operatoren werden unterstützt.

Der Potenzierungsoperator (**) wird unterstützt.

Anweisungen

Die folgenden ES 5.1-Anweisungen werden unterstützt:

  • break

  • catch

  • continue

  • do-while

  • else

  • finally

  • for

  • for-in

  • if

  • label

  • return

  • switch

  • throw

  • try

  • var

  • while

Die folgenden ES 6-Anweisungen werden unterstützt:

  • async

  • await

  • const

  • let

    Anmerkung

    async, awaitconst, und let sind neu in JavaScript Runtime 2.0.

Literale

ES 6-Vorlagenliterale werden unterstützt: mehrzeilige Zeichenfolgen, Interpolation von Ausdrücken und Verschachtelungsvorlagen.

Funktionen

Alle Features von ES 5.1 werden unterstützt.

ES 6-Pfeilfunktionen werden unterstützt, und die ES 6 Rest-Parametersyntax wird unterstützt.

Unicode

Quelltext und Zeichenfolgenliterale können Unicode-codierte Zeichen enthalten. Unicode-Code-Punkt-Escape-Sequenzen von sechs Zeichen (z. B. \uXXXX) werden ebenfalls unterstützt.

Strikter Modus

Funktionen arbeiten standardmäßig im strikten Modus, sodass Sie Ihrem Funktionscode keine use strict-Anweisung hinzufügen müssen. Dies können nicht geändert werden.

Primitive Objekte

Die folgenden primitiven Objekte von ES werden unterstützt.

Objekt

Die folgenden ES 5.1-Methoden für Objekte werden unterstützt:

  • Object.create() (ohne Eigenschaftenliste)

  • 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()

Die folgenden ES 6-Methoden für Objekte werden unterstützt:

  • Object.assign()

Die folgenden ES 8-Methoden für Objekte werden unterstützt:

  • Object.entries()

  • Object.values()

Die folgenden ES-5.1-Prototyp-Methoden für Objekte werden unterstützt:

  • Object.prototype.hasOwnProperty()

  • Object.prototype.isPrototypeOf()

  • Object.prototype.propertyIsEnumerable()

  • Object.prototype.toString()

  • Object.prototype.valueOf()

Die folgenden ES 6-Prototyp-Methoden für Objekte werden unterstützt:

  • Object.prototype.is()

  • Object.prototype.setPrototypeOf()

String

Die folgenden ES 5.1-Methoden für Zeichenfolgen werden unterstützt:

  • String.fromCharCode()

Die folgenden ES 6-Methoden für Zeichenfolgen werden unterstützt:

  • String.fromCodePoint()

Die folgenden ES-5.1-Prototyp-Methoden für Zeichenfolgen werden unterstützt:

  • 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()

Die folgenden ES 6-Prototyp-Methoden für Zeichenfolgen werden unterstützt:

  • String.prototype.codePointAt()

  • String.prototype.endsWith()

  • String.prototype.includes()

  • String.prototype.repeat()

  • String.prototype.startsWith()

Die folgenden ES 8-Prototyp-Methoden für Zeichenfolgen werden unterstützt:

  • String.prototype.padStart()

  • String.prototype.padEnd()

Die folgenden ES 9-Prototyp-Methoden für Zeichenfolgen werden unterstützt:

  • String.prototype.trimStart()

  • String.prototype.trimEnd()

Die folgenden ES 12-Prototyp-Methoden für Zeichenfolgen werden unterstützt:

  • String.prototype.replaceAll()

    Anmerkung

    String.prototype.replaceAll()ist neu in JavaScript Runtime 2.0.

Zahl

ALLES 5-Nummern werden unterstützt.

Die folgenden ES 6-Eigenschaften für Zahlen werden unterstützt:

  • Number.EPSILON

  • Number.MAX_SAFE_INTEGER

  • Number.MIN_SAFE_INTEGER

  • Number.MAX_VALUE

  • Number.MIN_VALUE

  • Number.NaN

  • Number.NEGATIVE_INFINITY

  • Number.POSITIVE_INFINITY

Die folgenden ES 6-Methoden für Zahlen werden unterstützt:

  • Number.isFinite()

  • Number.isInteger()

  • Number.isNaN()

  • Number.isSafeInteger()

  • Number.parseInt()

  • Number.parseFloat()

Die folgenden ES 5.1-Prototyp-Methoden für Zahlen werden unterstützt:

  • Number.prototype.toExponential()

  • Number.prototype.toFixed()

  • Number.prototype.toPrecision()

Numerische ES 12-Trennzeichen werden unterstützt.

Anmerkung

Numerische ES12-Trennzeichen sind neu in JavaScript Runtime 2.0.

Integrierte Objekte

Die folgenden integrierten Objekte von ES werden unterstützt.

Math-Knoten

Alle Mathematikmethoden von ES 5.1 werden unterstützt.

Anmerkung

In der Runtime-Umgebung von CloudFront Functions verwendet die Math.random() Implementierung Open BSDarc4random, das mit dem Zeitstempel versehen ist, wann die Funktion ausgeführt wird.

Die folgenden ES 6-Mathematikeigenschaften werden unterstützt:

  • Math.E

  • Math.LN10

  • Math.LN2

  • Math.LOG10E

  • Math.LOG2E

  • Math.PI

  • Math.SQRT1_2

  • Math.SQRT2

Die folgenden ES 6-Mathematikmethoden werden unterstützt:

  • 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()

Datum

Alle Date-Features von ES 5.1 werden unterstützt.

Anmerkung

Aus Sicherheitsgründen gibt Date immer den gleichen Wert – die Startzeit der Funktion – während der Lebensdauer einer einzelnen Funktionsausführung zurück. Weitere Informationen finden Sie unter Eingeschränkte Funktionen.

Funktion

Die folgenden ES-5.1-Prototyp-Methoden werden unterstützt:

  • Function.prototype.apply()

  • Function.prototype.bind()

  • Function.prototype.call()

Funktionskonstruktoren werden nicht unterstützt.

Reguläre Ausdrücke

Alle Features für reguläre Ausdrücke von ES 5.1 werden unterstützt. Die Sprache für reguläre Ausdrücke ist Perl-kompatibel.

Die folgenden ES-5.1-Prototyp-Zugriffseigenschaften werden unterstützt:

  • RegExp.prototype.global

  • RegExp.prototype.ignoreCase

  • RegExp.protoype.multiline

  • RegExp.protoype.source

  • RegExp.prototype.sticky

  • RegExp.prototype.flags

    Anmerkung

    RegExp.prototype.stickyund RegExp.prototype.flags sind neu in JavaScript Runtime 2.0.

Die folgenden ES-5.1-Prototyp-Methoden werden unterstützt:

  • RegExp.prototype.exec()

  • RegExp.prototype.test()

  • RegExp.prototype.toString()

  • RegExp.prototype[@@replace]()

  • RegExp.prototype[@@split]()

    Anmerkung

    RegExp.prototype[@@split]()ist neu in JavaScript Runtime 2.0.

Die folgenden ES-5.1-Instance-Eigenschaften werden unterstützt:

  • lastIndex

ES 9 benannte Aufnahmegruppen werden unterstützt.

JSON

Die folgenden ES 5.1-Mathematikmethoden werden unterstützt:

  • JSON.parse()

  • JSON.stringify()

Array

Die folgenden ES 5.1-Methoden für Arrays werden unterstützt:

  • Array.isArray()

Die folgenden ES 6-Methoden für Arrays werden unterstützt:

  • Array.of()

Die folgenden ES-5.1-Prototyp-Methoden werden unterstützt:

  • 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()

Die folgenden ES 6-Prototyp-Methoden werden unterstützt:

  • Array.prototype.copyWithin()

  • Array.prototype.fill()

  • Array.prototype.find()

  • Array.prototype.findIndex()

Die folgenden ES 7-Prototyp-Methoden werden unterstützt:

  • Array.prototype.includes()

Eingegebene Arrays

Die folgenden von ES 6 eingegebenen Array-Konstruktoren werden unterstützt:

  • Float32Array

  • Float64Array

  • Int8Array

  • Int16Array

  • Int32Array

  • Uint8Array

  • Uint8ClampedArray

  • Uint16Array

  • Uint32Array

Die folgenden ES-6-Methoden werden unterstützt:

  • TypedArray.from()

  • TypedArray.of()

    Anmerkung

    TypedArray.from()und TypedArray.of() sind neu in JavaScript Runtime 2.0.

Die folgenden ES 6-Prototyp-Methoden werden unterstützt:

  • 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()

    Anmerkung

    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(), und TypedArray.prototype.some() sind neu in JavaScript Runtime 2.0.

ArrayBuffer

Die folgenden ES 6-Methoden ArrayBuffer werden unterstützt:

  • isView()

Die folgenden ES 6-Prototypmethoden ArrayBuffer werden unterstützt:

  • ArrayBuffer.prototype.slice()

Promise

Die folgenden ES 6-Methoden für Versprechen werden unterstützt:

  • Promise.all()

  • Promise.allSettled()

  • Promise.any()

  • Promise.reject()

  • Promise.resolve()

  • Promise.race()

    Anmerkung

    Promise.all(), Promise.allSettled()Promise.any(), und Promise.race() sind neu in JavaScript Runtime 2.0.

Die folgenden ES 6-Prototyp-Methoden für Versprechen werden unterstützt:

  • Promise.prototype.catch()

  • Promise.prototype.finally()

  • Promise.prototype.then()

DataView

Die folgenden ES 6-Prototyp-Methoden werden unterstützt:

  • 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()

    Anmerkung

    Alle Prototypmethoden von Dataview ES 6 sind neu in JavaScript Runtime 2.0.

Symbol

Die folgenden ES-6-Methoden werden unterstützt:

  • Symbol.for()

  • Symbol.keyfor()

    Anmerkung

    Alle Symbol ES 6-Methoden sind neu in JavaScript Runtime 2.0.

Textdecoder

Die folgenden Prototyp-Methoden werden unterstützt:

  • TextDecoder.prototype.decode()

Die folgenden Prototyp-Zugriffseigenschaften werden unterstützt:

  • TextDecoder.prototype.encoding

  • TextDecoder.prototype.fatal

  • TextDecoder.prototype.ignoreBOM

Text-Encoder

Die folgenden Prototyp-Methoden werden unterstützt:

  • TextEncoder.prototype.encode()

  • TextEncoder.prototype.encodeInto()

Fehlertypen

Die folgenden Fehlerobjekte werden unterstützt:

  • Error

  • EvalError

  • InternalError

  • RangeError

  • ReferenceError

  • SyntaxError

  • TypeError

  • URIError

Globale

Das globalThis-Objekt wird unterstützt.

Die folgenden globalen Funktionen von ES 5.1 werden unterstützt:

  • decodeURI()

  • decodeURIComponent()

  • encodeURI()

  • encodeURIComponent()

  • isFinite()

  • isNaN()

  • parseFloat()

  • parseInt()

Die folgenden globalen Funktionen von ES 6 werden unterstützt:

  • atob()

  • btoa()

    Anmerkung

    atob()und btoa() sind neu in JavaScript Runtime 2.0.

Die folgenden globalen Konstanten werden unterstützt:

  • NaN

  • Infinity

  • undefined

  • arguments

Integrierten Module

Die folgenden integrierten Module werden unterstützt.

Buffer

Das Modul bietet die folgenden Methoden:

  • Buffer.alloc(size[, fill[, encoding]])

    Weisen Sie einen Buffer zu.

    • size: Puffergröße. Geben Sie eine Ganzzahl ein.

    • fill: Optional. Geben Sie eine Zeichenfolge, Buffer, Uint8Array oder eine Ganzzahl ein. Der Standardwert ist 0.

    • encoding: Optional. Wenn fill eine Zeichenfolge ist, geben Sie eine der folgenden Optionen ein: utf8, hex, base64, base64url. Der Standardwert ist utf8.

  • Buffer.allocUnsafe(size)

    Weisen Sie einen nicht initialisierten Buffer zu.

    • size: Geben Sie eine Ganzzahl ein.

  • Buffer.byteLength(value[, encoding])

    Gibt die Länge eines Werts in Byte zurück.

    • value: Eine Zeichenfolge,, Buffer TypedArray, Dataview oder Arraybuffer.

    • encoding: Optional. Wenn value eine Zeichenfolge ist, geben Sie eine der folgenden Optionen ein: utf8, hex, base64, base64url. Der Standardwert ist utf8.

  • Buffer.compare(buffer1, buffer2)

    Vergleichen Sie zwei Buffer, um Arrays besser sortieren zu können. Gibt 0 zurück, wenn sie identisch sind, -1, wenn buffer1 an erster Stelle steht, oder 1, wenn buffer2 an erster Stelle steht.

    • buffer1: Geben Sie einen Buffer ein.

    • buffer2: Geben Sie einen anderen Buffer ein.

  • Buffer.concat(list[, totalLength])

    Verketten Sie mehrere Buffer. Gibt 0 zurück, wenn keiner vorhanden ist. Gibt bis zu totalLength zurück.

    • list: Geben Sie eine Liste von Buffern ein. Beachten Sie, dass dies auf totalLength gekürzt wird.

    • totalLength: Optional. Geben Sie eine Ganzzahl ohne Vorzeichen ein. Wenn das Feld leer ist, wird die Summe der Buffer-Instances in der Liste verwendet.

  • Buffer.from(array)

    Erstellen Sie einen Buffer aus einem Array.

    • array: Geben Sie ein Byte-Array von 0 bis 255 ein.

  • Buffer.from(arrayBuffer, byteOffset[, length]))

    Erstellen Sie eine Ansicht von arrayBuffer, beginnend beim Versatz byteOffset mit der Länge length.

    • arrayBuffer: Geben Sie ein Buffer-Array ein.

    • byteOffset: Geben Sie eine Ganzzahl ein.

    • length: Optional. Geben Sie eine Ganzzahl ein.

  • Buffer.from(buffer)

    Erstellen Sie eine Kopie des Buffers.

    • buffer: Geben Sie einen Buffer ein.

  • Buffer.from(object[, offsetOrEncoding[, length]])

    Erstellen Sie einen Buffer aus einem Objekt. Gibt Buffer.from(object.valueOf(), offsetOrEncoding, length) zurück, wenn valueOf() nicht dem Objekt entspricht.

    • object: Geben Sie ein Objekt ein.

    • offsetOrEncoding: Optional. Geben Sie eine Ganzzahl oder eine Kodierungszeichenfolge ein.

    • length: Optional. Geben Sie eine Ganzzahl ein.

  • Buffer.from(string[, encoding])

    Erstellen Sie einen Buffer aus einer Zeichenfolge.

    • string: Geben Sie eine Zeichenfolge ein.

    • encoding: Optional. Machen Sie eine der folgenden Eingaben: utf8, hex, base64, base64url. Der Standardwert ist utf8.

  • Buffer.isBuffer(object)

    Prüfen Sie, ob object ein Puffer ist. Gibt true oder false zurück.

    • object: Geben Sie ein Objekt ein.

  • Buffer.isEncoding(encoding)

    Prüfen Sie, ob encoding unterstützt wird. Gibt true oder false zurück.

    • encoding: Optional. Machen Sie eine der folgenden Eingaben: utf8, hex, base64, base64url. Der Standardwert ist utf8.

Das Modul bietet die folgenden Puffer-Prototyp-Methoden:

  • Buffer.prototype.compare(target[, targetStart[, targetEnd[, sourceStart[, sourceEnd]]]])

    Vergleichen Sie Buffer mit dem Ziel. Gibt 0 zurück, wenn sie identisch sind, 1, wenn buffer an erster Stelle steht, oder -1, wenn target an erster Stelle steht.

    • target: Geben Sie einen Buffer ein.

    • targetStart: Optional. Geben Sie eine Ganzzahl ein. Standard = 0.

    • targetEnd: Optional. Geben Sie eine Ganzzahl ein. Die Standardeinstellung ist die target-Länge.

    • sourceStart: Optional. Geben Sie eine Ganzzahl ein. Standard = 0.

    • sourceEnd: Optional. Geben Sie eine Ganzzahl ein. Die Standardeinstellung ist die Buffer-Länge.

  • Buffer.prototype.copy(target[, targetStart[, sourceStart[, sourceEnd]]])

    Kopieren Sie den Puffer nach target.

    • target: Geben Sie einen Buffer oder Uint8Array ein.

    • targetStart: Optional. Geben Sie eine Ganzzahl ein. Standard = 0.

    • sourceStart: Optional. Geben Sie eine Ganzzahl ein. Standard = 0.

    • sourceEnd: Optional. Geben Sie eine Ganzzahl ein. Die Standardeinstellung ist die Buffer-Länge.

  • Buffer.prototype.equals(otherBuffer)

    Vergleichen Sie Buffer mit otherBuffer. Gibt true oder false zurück.

    • otherBuffer: Geben Sie eine Zeichenfolge ein.

  • Buffer.prototype.fill(value[, offset[, end][, encoding])

    Geben Sie für den Buffer den Wert value ein.

    • value: Geben Sie eine Zeichenfolge, einen Buffer oder eine Ganzzahl ein.

    • offset: Optional. Geben Sie eine Ganzzahl ein.

    • end: Optional. Geben Sie eine Ganzzahl ein.

    • encoding: Optional. Machen Sie eine der folgenden Eingaben: utf8, hex, base64, base64url. Der Standardwert ist utf8.

  • Buffer.prototype.includes(value[, byteOffset][, encoding])

    Suchen Sie nach value im Buffer. Gibt true oder false zurück.

    • value: Geben Sie eine Zeichenfolge, einen Buffer, ein Uint8Array oder eine Ganzzahl ein.

    • byteOffset: Optional. Geben Sie eine Ganzzahl ein.

    • encoding: Optional. Machen Sie eine der folgenden Eingaben: utf8, hex, base64, base64url. Der Standardwert ist utf8.

  • Buffer.prototype.indexOf(value[, byteOffset][, encoding])

    Suchen Sie nach dem ersten value im Buffer. Gibt index zurück, wenn er gefunden wurde, oder gibt -1 zurück, wenn er nicht gefunden wurde.

    • value: Geben Sie eine Zeichenfolge, einen Buffer, ein Unit8Array oder eine Ganzzahl von 0 bis 255 ein.

    • byteOffset: Optional. Geben Sie eine Ganzzahl ein.

    • encoding: Optional. Geben Sie eine der folgenden Optionen ein, wenn value eine Zeichenfolge ist: utf8, hex, base64, base64url. Der Standardwert ist utf8.

  • Buffer.prototype.lastIndexOf(value[, byteOffset][, encoding])

    Suchen Sie nach dem letzten value im Buffer. Gibt index zurück, wenn er gefunden wurde, oder gibt -1 zurück, wenn er nicht gefunden wurde.

    • value: Geben Sie eine Zeichenfolge, einen Buffer, ein Unit8Array oder eine Ganzzahl von 0 bis 255 ein.

    • byteOffset: Optional. Geben Sie eine Ganzzahl ein.

    • encoding: Optional. Geben Sie eine der folgenden Optionen ein, wenn value eine Zeichenfolge ist: utf8, hex, base64, base64url. Der Standardwert ist utf8.

  • Buffer.prototype.readInt8(offset)

    Lesen Sie Int8 beim offset vom Buffer.

    • offset: Geben Sie eine Ganzzahl ein.

  • Buffer.prototype.readIntBE(offset, byteLength)

    Lesen Sie Int als Big-Endian beim offset vom Buffer.

    • offset: Geben Sie eine Ganzzahl ein.

    • byteLength: Optional. Geben Sie eine Ganzzahl von 1 bis 6 ein.

  • Buffer.prototype.readInt16BE(offset)

    Lesen Sie Int16 als Big-Endian beim offset vom Buffer.

    • offset: Geben Sie eine Ganzzahl ein.

  • Buffer.prototype.readInt32BE(offset)

    Lesen Sie Int32 als Big-Endian beim offset vom Buffer.

    • offset: Geben Sie eine Ganzzahl ein.

  • Buffer.prototype.readIntLE(offset, byteLength)

    Lesen Sie Int als Little-Endian beim offset vom Buffer.

    • offset: Geben Sie eine Ganzzahl ein.

    • byteLength: Geben Sie eine Ganzzahl von 1 bis 6 ein.

  • Buffer.prototype.readInt16LE(offset)

    Lesen Sie Int16 als Little-Endian beim offset vom Buffer.

    • offset: Geben Sie eine Ganzzahl ein.

  • Buffer.prototype.readInt32LE(offset)

    Lesen Sie Int32 als Little-Endian beim offset vom Buffer.

    • offset: Geben Sie eine Ganzzahl ein.

  • Buffer.prototype.readUInt8(offset)

    Lesen Sie UInt8 beim offset vom Buffer.

    • offset: Geben Sie eine Ganzzahl ein.

  • Buffer.prototype.readUIntBE(offset, byteLength)

    Lesen Sie UInt als Big-Endian beim offset vom Buffer.

    • offset: Geben Sie eine Ganzzahl ein.

    • byteLength: Geben Sie eine Ganzzahl von 1 bis 6 ein.

  • Buffer.prototype.readUInt16BE(offset)

    Lesen Sie UInt16 als Big-Endian beim offset vom Buffer.

    • offset: Geben Sie eine Ganzzahl ein.

  • Buffer.prototype.readUInt32BE(offset)

    Lesen Sie UInt32 als Big-Endian beim offset vom Buffer.

    • offset: Geben Sie eine Ganzzahl ein.

  • Buffer.prototype.readUIntLE(offset, byteLength)

    Lesen Sie UInt als Little-Endian beim offset vom Buffer.

    • offset: Geben Sie eine Ganzzahl ein.

    • byteLength: Geben Sie eine Ganzzahl von 1 bis 6 ein.

  • Buffer.prototype.readUInt16LE(offset)

    Lesen Sie UInt16 als Little-Endian beim offset vom Buffer.

    • offset: Geben Sie eine Ganzzahl ein.

  • Buffer.prototype.readUInt32LE(offset)

    Lesen Sie UInt32 als Little-Endian beim offset vom Buffer.

    • offset: Geben Sie eine Ganzzahl ein.

  • Buffer.prototype.readDoubleBE([offset])

    Lesen Sie einen 64-Bit-Double-Wert als Big-Endian beim offset vom Buffer.

    • offset: Optional. Geben Sie eine Ganzzahl ein.

  • Buffer.prototype.readDoubleLE([offset])

    Lesen Sie einen 64-Bit-Double-Wert als Little-Endian beim offset vom Buffer.

    • offset: Optional. Geben Sie eine Ganzzahl ein.

  • Buffer.prototype.readFloatBE([offset])

    Lesen Sie einen 32-Bit-Float-Wert als Big-Endian beim offset vom Buffer.

    • offset: Optional. Geben Sie eine Ganzzahl ein.

  • Buffer.prototype.readFloatLE([offset])

    Lesen Sie einen 32-Bit-Float-Wert als Little-Endian beim offset vom Buffer.

    • offset: Optional. Geben Sie eine Ganzzahl ein.

  • Buffer.prototype.subarray([start[, end]])

    Gibt eine Kopie vom Buffer zurück, der versetzt und mit einem neuen start und end zugeschnitten wurde.

    • start: Optional. Geben Sie eine Ganzzahl ein. Standard = 0.

    • end: Optional. Geben Sie eine Ganzzahl ein. Die Standardeinstellung ist die Pufferlänge.

  • Buffer.prototype.swap16()

    Tauschen Sie die Byte-Reihenfolge des Buffer-Arrays aus und behandeln Sie es wie ein Array von 16-Bit-Zahlen. Die Buffer-Länge muss durch 2 teilbar sein, sonst erhalten Sie eine Fehlermeldung.

  • Buffer.prototype.swap32()

    Tauschen Sie die Byte-Reihenfolge des Buffer-Arrays aus und behandeln Sie es wie ein Array von 32-Bit-Zahlen. Die Buffer-Länge muss durch 4 teilbar sein, sonst erhalten Sie eine Fehlermeldung.

  • Buffer.prototype.swap64()

    Tauschen Sie die Byte-Reihenfolge des Buffer-Arrays aus und behandeln Sie es wie ein Array von 64-Bit-Zahlen. Die Buffer-Länge muss durch 8 teilbar sein, sonst erhalten Sie eine Fehlermeldung.

  • Buffer.prototype.toJSON()

    Gibt als zurück. Buffer JSON

  • Buffer.prototype.toString([encoding[, start[, end]]])

    Konvertieren Sie den Buffer von start bis end in eine kodierte Zeichenfolge.

    • encoding: Optional. Machen Sie eine der folgenden Eingaben: utf8, hex, base64 oder base64url. Der Standardwert ist utf8.

    • start: Optional. Geben Sie eine Ganzzahl ein. Standard = 0.

    • end: Optional. Geben Sie eine Ganzzahl ein. Die Standardeinstellung ist die Pufferlänge.

  • Buffer.prototype.write(string[, offset[, length]][, encoding])

    Schreiben Sie die codierte string in den Buffer, wenn genügend Platz vorhanden ist, oder die gekürzte string, wenn nicht genügend Platz vorhanden ist.

    • string: Geben Sie eine Zeichenfolge ein.

    • offset: Optional. Geben Sie eine Ganzzahl ein. Standard = 0.

    • length: Optional. Geben Sie eine Ganzzahl ein. Die Standardeinstellung ist die Länge der Zeichenfolge.

    • encoding: Optional. Geben Sie optional eine der folgenden Optionen ein: utf8, hex, base64 oder base64url. Der Standardwert ist utf8.

  • Buffer.prototype.writeInt8(value, offset, byteLength)

    Schreiben Sie den Int8-value der byteLength beim offset des Buffers.

    • value: Geben Sie eine Ganzzahl ein.

    • offset: Geben Sie eine Ganzzahl ein

    • byteLength: Geben Sie eine Ganzzahl von 1 bis 6 ein.

  • Buffer.prototype.writeIntBE(value, offset, byteLength)

    Schreiben Sie den value beim offset des Buffers mit Big-Endian.

    • value: Geben Sie eine Ganzzahl ein.

    • offset: Geben Sie eine Ganzzahl ein

    • byteLength: Geben Sie eine Ganzzahl von 1 bis 6 ein.

  • Buffer.prototype.writeInt16BE(value, offset, byteLength)

    Schreiben Sie den value beim offset des Buffers mit Big-Endian.

    • value: Geben Sie eine Ganzzahl ein.

    • offset: Geben Sie eine Ganzzahl ein

    • byteLength: Geben Sie eine Ganzzahl von 1 bis 6 ein.

  • Buffer.prototype.writeInt32BE(value, offset, byteLength)

    Schreiben Sie den value beim offset des Buffers mit Big-Endian.

    • value: Geben Sie eine Ganzzahl ein.

    • offset: Geben Sie eine Ganzzahl ein

    • byteLength: Geben Sie eine Ganzzahl von 1 bis 6 ein.

  • Buffer.prototype.writeIntLE(offset, byteLength)

    Schreiben Sie den value beim offset des Buffers mit Little-Endian.

    • offset: Geben Sie eine Ganzzahl ein.

    • byteLength: Geben Sie eine Ganzzahl von 1 bis 6 ein.

  • Buffer.prototype.writeInt16LE(offset, byteLength)

    Schreiben Sie den value beim offset des Buffers mit Little-Endian.

    • offset: Geben Sie eine Ganzzahl ein.

    • byteLength: Geben Sie eine Ganzzahl von 1 bis 6 ein.

  • Buffer.prototype.writeInt32LE(offset, byteLength)

    Schreiben Sie den value beim offset des Buffers mit Little-Endian.

    • offset: Geben Sie eine Ganzzahl ein.

    • byteLength: Geben Sie eine Ganzzahl von 1 bis 6 ein.

  • Buffer.prototype.writeUInt8(value, offset, byteLength)

    Schreiben Sie den UInt8-value der byteLength beim offset des Buffers.

    • value: Geben Sie eine Ganzzahl ein.

    • offset: Geben Sie eine Ganzzahl ein

    • byteLength: Geben Sie eine Ganzzahl von 1 bis 6 ein.

  • Buffer.prototype.writeUIntBE(value, offset, byteLength)

    Schreiben Sie den value beim offset des Buffers mit Big-Endian.

    • value: Geben Sie eine Ganzzahl ein.

    • offset: Geben Sie eine Ganzzahl ein

    • byteLength: Geben Sie eine Ganzzahl von 1 bis 6 ein.

  • Buffer.prototype.writeUInt16BE(value, offset, byteLength)

    Schreiben Sie den value beim offset des Buffers mit Big-Endian.

    • value: Geben Sie eine Ganzzahl ein.

    • offset: Geben Sie eine Ganzzahl ein

    • byteLength: Geben Sie eine Ganzzahl von 1 bis 6 ein.

  • Buffer.prototype.writeUInt32BE(value, offset, byteLength)

    Schreiben Sie den value beim offset des Buffers mit Big-Endian.

    • value: Geben Sie eine Ganzzahl ein.

    • offset: Geben Sie eine Ganzzahl ein

    • byteLength: Geben Sie eine Ganzzahl von 1 bis 6 ein.

  • Buffer.prototype.writeUIntLE(value, offset, byteLength)

    Schreiben Sie den value beim offset des Buffers mit Little-Endian.

    • value: Geben Sie eine Ganzzahl ein.

    • offset: Geben Sie eine Ganzzahl ein

    • byteLength: Geben Sie eine Ganzzahl von 1 bis 6 ein.

  • Buffer.prototype.writeUInt16LE(value, offset, byteLength)

    Schreiben Sie den value beim offset des Buffers mit Little-Endian.

    • value: Geben Sie eine Ganzzahl ein.

    • offset: Geben Sie eine Ganzzahl ein

    • byteLength: Geben Sie eine Ganzzahl von 1 bis 6 ein.

  • Buffer.prototype.writeUInt32LE(value, offset, byteLength)

    Schreiben Sie den value beim offset des Buffers mit Little-Endian.

    • value: Geben Sie eine Ganzzahl ein.

    • offset: Geben Sie eine Ganzzahl ein

    • byteLength: Geben Sie eine Ganzzahl von 1 bis 6 ein.

  • Buffer.prototype.writeDoubleBE(value, [offset])

    Schreiben Sie den value beim offset des Buffers mit Big-Endian.

    • value: Geben Sie eine Ganzzahl ein.

    • offset: Optional. Geben Sie eine Ganzzahl ein. Standard = 0.

  • Buffer.prototype.writeDoubleLE(value, [offset])

    Schreiben Sie den value beim offset des Buffers mit Little-Endian.

    • value: Geben Sie eine Ganzzahl ein.

    • offset: Optional. Geben Sie eine Ganzzahl ein. Standard = 0.

  • Buffer.prototype.writeFloatBE(value, [offset])

    Schreiben Sie den value beim offset des Buffers mit Big-Endian.

    • value: Geben Sie eine Ganzzahl ein.

    • offset: Optional. Geben Sie eine Ganzzahl ein. Standard = 0.

  • Buffer.prototype.writeFloatLE(value, [offset])

    Schreiben Sie den value beim offset des Buffers mit Little-Endian.

    • value: Geben Sie eine Ganzzahl ein.

    • offset: Optional. Geben Sie eine Ganzzahl ein. Standard = 0.

Die folgenden Instanzmethoden werden unterstützt:

  • buffer[index]

    Rufen Sie Oktett (Byte) beim index im Buffer ab oder legen Sie es fest.

    • Rufen Sie eine Zahl von 0 bis 255 ab. Oder legen Sie eine Zahl von 0 bis 255 fest.

Die folgenden Instanzeigenschaften werden unterstützt:

  • buffer

    Rufen Sie das ArrayBuffer-Objekt für den Puffer ab.

  • byteOffset

    Rufen Sie das byteOffset vom Arraybuffer-Objekt des Puffers ab.

  • length

    Rufen Sie die Byteanzahl des Puffers ab.

Anmerkung

Alle Methoden des Buffer-Moduls sind neu in JavaScript Runtime 2.0.

Abfragezeichenfolge

Anmerkung

Das CloudFront Functions-Ereignisobjekt analysiert automatisch URL Abfragezeichenfolgen für Sie. Das bedeutet, dass Sie dieses Modul in den meisten Fällen nicht verwenden müssen.

Das Abfragezeichenfolgenmodul (querystring) bietet Methoden zum Analysieren und Formatieren von URL Abfragezeichenfolgen. Sie können das Modul mit require('querystring') laden. Das Modul bietet die folgenden Methoden.

querystring.escape(string)

URL-kodiert die angegebene Zeichenfolge und gibt eine string maskierte Abfragezeichenfolge zurück. Die Methode wird von querystring.stringify() verwendet und sollte nicht direkt verwendet werden.

querystring.parse(string[, separator[, equal[, options]]])

Analysiert eine Abfragezeichenfolge (string) und gibt ein Objekt zurück.

Der separator-Parameter ist eine Teilzeichenfolge zum Abgrenzen von Schlüssel- und Wertepaaren in der Abfragezeichenfolge. Standardmäßig ist dies &.

Der equal-Parameter ist eine Teilzeichenfolge zum Abgrenzen von Schlüsseln und Werten in der Abfragezeichenfolge. Standardmäßig ist dies =.

Der options-Parameter ist ein Objekt mit den folgenden Schlüsseln:

decodeURIComponent function

Eine Funktion zum Entschlüsseln von prozentkodierten Zeichen in der Abfragezeichenfolge. Standardmäßig ist dies querystring.unescape().

maxKeys number

Die maximale Anzahl der Schlüssel zum Parsen. Standardmäßig ist dies 1000. Verwenden Sie den Wert 0, um die Beschränkungen für das Zählen von Schlüsseln aufzuheben.

Standardmäßig wird davon ausgegangen, dass prozentkodierte Zeichen innerhalb der Abfragezeichenfolge die Kodierung -8 verwenden. UTF Ungültige UTF -8-Sequenzen werden durch das Ersatzzeichen ersetzt. U+FFFD

Zum Beispiel für die folgende Abfragezeichenfolge:

'name=value&abc=xyz&abc=123'

Der Rückgabewert von querystring.parse() ist:

{ name: 'value', abc: ['xyz', '123'] }

querystring.decode() ist ein Alias für querystring.parse().

querystring.stringify(object[, separator[, equal[, options]]])

Serialisiert ein object und gibt eine Abfragezeichenfolge zurück.

Der separator-Parameter ist eine Teilzeichenfolge zum Abgrenzen von Schlüssel- und Wertepaaren in der Abfragezeichenfolge. Standardmäßig ist dies &.

Der equal-Parameter ist eine Teilzeichenfolge zum Abgrenzen von Schlüsseln und Werten in der Abfragezeichenfolge. Standardmäßig ist dies =.

Der options-Parameter ist ein Objekt mit den folgenden Schlüsseln:

encodeURIComponent function

Die Funktion, die für die Konvertierung von URL -unsicheren Zeichen in die Prozentkodierung in der Abfragezeichenfolge verwendet werden soll. Standardmäßig ist dies querystring.escape().

Standardmäßig werden Zeichen, die eine prozentuale Kodierung innerhalb der Abfragezeichenfolge erfordern, als -8 codiert. UTF Um eine andere Codierung zu verwenden, geben Sie die Option encodeURIComponent an.

Zum Beispiel für den folgenden Code:

querystring.stringify({ name: 'value', abc: ['xyz', '123'], anotherName: '' });

Der Rückgabewert ist:

'name=value&abc=xyz&abc=123&anotherName='

querystring.encode() ist ein Alias für querystring.stringify().

querystring.unescape(string)

Dekodiert URL prozentual kodierte Zeichen in der angegebenen Zeichenfolge und gibt eine Abfragezeichenfolge ohne Escape-Code zurück. string Diese Methode wird von querystring.parse() verwendet und sollte nicht direkt verwendet werden.

Crypto

Das kryptografische Modul (crypto) bietet Standardwerkzeuge für Hashing und Hash-basierte Nachrichtenauthentifizierung (). HMAC Sie können das Modul mit require('crypto') laden.

Hashing-Methoden

crypto.createHash(algorithm)

Erstellt und gibt ein Hash-Objekt zurück, mit dem Sie Hash-Digests mit dem angegebenen Algorithmus generieren können: md5, sha1 oder sha256.

hash.update(data)

Aktualisiert den Hash-Inhalt mit dem angegebenen data.

hash.digest([encoding])

Berechnet den Digest aller mit hash.update() übergebenen Daten. Die Codierung kann hex, base64 oder base64url sein.

HMACMethoden

crypto.createHmac(algorithm, secret key)

Erzeugt und gibt ein HMAC Objekt zurück, das das angegebene algorithm und verwendetsecret key. Der Algorithmus kann md5, sha1 oder sha256 sein.

hmac.update(data)

Aktualisiert den HMAC Inhalt mit dem angegebenendata.

hmac.digest([encoding])

Berechnet den Digest aller mit hmac.update() übergebenen Daten. Die Codierung kann hex, base64 oder base64url sein.

Eingeschränkte Features

Die folgenden JavaScript Sprachfunktionen werden entweder nicht unterstützt oder sind aus Sicherheitsgründen eingeschränkt.

Dynamische Codeauswertung

Die dynamische Codeauswertung wird nicht unterstützt. Sowohl eval()- als auch Function-Konstruktoren geben einen Fehler aus, wenn sie versucht werden. Zum Beispiel gibt const sum = new Function('a', 'b', 'return a + b') einen Fehler aus.

Timer

Die Funktionen setTimeout(), setImmediate() und clearTimeout() werden nicht unterstützt. Es gibt keine Bestimmung, innerhalb einer Funktionsausführung zu verschieben oder zu ergeben. Ihre Funktion muss synchron bis zum Abschluss ausgeführt werden.

Datum und Zeitstempel

Aus Sicherheitsgründen besteht kein Zugang zu hochauflösenden Timern. Alle Date-Methoden zum Abfragen der aktuellen Uhrzeit geben während der Lebensdauer einer einzelnen Funktionsausführung immer den gleichen Wert zurück. Der zurückgegebene Zeitstempel ist die Zeit, zu der die Funktion gestartet wurde. Folglich können Sie die verstrichene Zeit in Ihrer Funktion nicht messen.

Zugriff auf das Dateisystem

Es gibt keinen Zugriff auf das Dateisystem. Zum Beispiel gibt es kein fs-Modul für den Dateisystemzugriff wie in Node.js.

Zugriff verarbeiten

Es gibt keinen Prozesszugriff. Beispielsweise gibt es kein process globales Objekt für die Verarbeitung von Informationszugriffen wie in Node.js.

Umgebungsvariablen

Es gibt keinen Zugriff auf Umgebungsvariablen. Stattdessen können Sie CloudFront KeyValueStore damit einen zentralen Datenspeicher mit Schlüssel-Wert-Paaren für Ihre Funktionen erstellen. CloudFront CloudFront KeyValueStore ermöglicht dynamische Aktualisierungen Ihrer Konfigurationsdaten, ohne dass Codeänderungen vorgenommen werden müssen. Weitere Informationen finden Sie unter Amazon CloudFront KeyValueStore.

Netzwerkzugriff

Es gibt keine Unterstützung für Netzwerkaufrufe. Beispielsweise XHR werden HTTP (S) und Socket nicht unterstützt.