関数用のAPIとライブラリ
この記事では、関数用のAPIとライブラリについて説明します。
関数では以下のAPIとライブラリを使用できます:
- Crypto-ES.js
- TweetNaCl.js
- JavaScript Console API
Crypto-ES.js
Crypto-ES.jsは、ハッシュ化、エンコーディング、暗号アルゴリズムを提供する暗号化アルゴリズムのライブラリです。詳細については、Crypto-ESを参照してください。
以下の例は、テキストの暗号化と復号化の方法を示しています:
import CryptoES from 'crypto-es';
var encrypted = CryptoES.AES.encrypt("Message", "Secret Passphrase");
console.log(encrypted);
var decrypted = CryptoES.AES.decrypt(encrypted, "Secret Passphrase");
console.log(CryptoES.enc.Utf8.stringify(decrypted));
TweetNaCl.js
TweetNaClは、秘密鍵認証暗号、公開鍵認証暗号、ハッシュ化、公開鍵署名を実装する暗号ライブラリです。TweetNaClライブラリは、イベント関数とビジター関数のみで利用可能です。
イベント関数またはビジター関数にTweetNaCl.jsモジュールを次のようにインポートします:
import nacl from 'tweetnacl';
詳細については、NPM TweetNaCl.jsを参照してください。
JavaScript console API
JavaScriptのコンソール関数を使用して、メッセージとエラーをログに書き込みます。
console.log() , console.info(), および console.debug() ログメッセージは情報出力ストリームに送られます。console.warn() および console.error() ログメッセージはエラー出力ストリームに送られます。
情報とエラーの出力ストリームは、それぞれ関数の呼び出し毎に10Kbのデータに制限されています。ログメッセージがこの制限を超えると、ログファイルには最初の10Kbのデータが含まれ、次のメッセージで終わります:
出力が大きすぎて切り捨てられました。
コンソールオブジェクトは、関数でサポートされている他のメソッドを提供します。詳細については、コンソールオブジェクトのJavaScript 仕様を参照してください。以下の追加のコンソールメソッドがサポートされています:
assert()count()countReset()group()groupEnd()time()timeEnd()timeLog()
Console APIの出力
ほとんどのコンソール関数の出力は、Logs表示のMessagesセクションに表示されます。例えば:
Messages:
Function Start
console.warn() および console.error() の出力は、Messages出力の下のErrorsセクションに表示されます:
Errors:
Warning - page not found
Error - variable not defined
console.assert()
関数がEventStreamでトリガーされ、console.assert()が次のように呼び出された場合:
console.assert(visitor, "visitor not defined");
visitorオブジェクトは、トリガーがAudienceStreamの場合にのみ定義されるため、アサーションは偽となり、出力は次のようになります:
Assertion failed: visitor not defined
console.group()とconsole.groupEnd()
console.group()とconsole.groupEnd()は、ログ内の関連メッセージをフォーマットするために使用できます。console.group()に続くconsole.log()メッセージはログ内でインデントされます。インデントはconsole.groupEnd()が呼び出された後に終了します。
関数コードが以下を含む場合:
console.group("Event info:");
console.log("Account: ", event.account);
console.log("Visitor ID: ", event.visitor_id);
console.groupEnd();
出力は次のようになります:
Event info:
Account: Acme Mfg
Visitor ID: 017407a1d9e50019633c3cea732703079011607100bd6
console.time()とconsole.timeLog()
関数がconsole.time()を呼び出すと、出力はありません。console.time()がその文字列で呼び出された時間が記録されます。console.timeLog()が同じ文字列で呼び出されると、出力は指定された文字列に続くconsole.time()が呼び出されてからの経過時間です:
Current Time: : 1ms
関数がconsole.timeEnd()を呼び出した後、console.time()が再度呼び出されるまでconsole.timeLog()を呼び出すことはできません。
console.count()とconsole.countReset()
console.count()が同じ文字列で呼び出されるたびに、カウントが増加します。console.count()の出力は、文字列に続くカウントです。console.count("Current count: ");が2回呼び出された場合、出力は次のようになります:
Current count: : 1
Current count: : 2
console.countReset()は、指定された文字列のカウントをゼロにリセットします。
最終更新日 :: 2024年February月5日