注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
関数での Cipher の使用は、オペレーショナルユーザーライセンスが必要です。この操作(ハッシュ化、暗号化、復号化)に対してチェックポイントが設定されている場合、ライセンスはチェックポイントをバイパスできるように設定する必要があります。
関数のコードリポジトリを使用して CipherText オブジェクトのプロパティと対話することができ、一括暗号化や一括復号化といった高度なロジックを実現できます。関数の使用を開始するには、このチュートリアルを参照してください。
以下の例では、次のプロパティを持つ EncryptedCustomer
オブジェクトがあると仮定しています:
name
id
このオブジェクトと対話するための二つの関数を記述します:
decryptEncryptedCustomer()
は EncryptedCustomer
オブジェクトを入力として受け取り、プレーンテキストの名前を返します。updateEncryptedName()
は EncryptedCustomer
オブジェクトと newName
を入力として受け取り、そのオブジェクトの暗号化された名前を newName
に更新します。この例では、EncryptedCustomer
オブジェクトの name
プロパティを復号化して返します。
import { Function, Integer, OntologyEditFunction, Edits } from "@foundry/functions-api";
import { Objects, EncryptedCustomers } from "@foundry/ontology-api";
// 関数: 暗号化された顧客の名前を復号化する
@Function()
public async decryptEncryptedCustomer(customer: EncryptedCustomers): Promise<string | undefined> {
// 名前の復号化を実行して返す
return await customer.name?.decryptAsync();
}
以下の例では、EncryptedCustomer
オブジェクトの name
プロパティを更新しています。この例の関数は、オブジェクトを更新する関数と同様に、@OntologyEditFunction()
および @Edits(EncryptedCustomers)
でアノテーションされている必要があることに注意してください。また、この関数をプレビューで実行しても実際にはオブジェクトが編集されないことに注意してください。
// 英語から日本語に翻訳されたコードです。
import { Function, Integer, OntologyEditFunction, Edits } from "@foundry/functions-api";
import { Objects, EncryptedCustomers } from "@foundry/ontology-api";
@OntologyEditFunction()
@Edits(EncryptedCustomers)
public async updateEncryptedName(customer: EncryptedCustomers, newName: string): Promise<void> {
// 暗号化された顧客の名前を更新する関数です。
await customer.name?.updateAsync(newName);
}