Sample Athena External Functions

Sample Athena External Functions

Method: Tokenization

Type: ALPHA

 

Athena Data Types

Athena Max Size

Protegrity Max Size

VARCHAR

65K (65,535 bytes)

4K (4,096 bytes)

 

 

 

External Function Sample Definitions:

USING EXTERNAL FUNCTION protect(val varchar, el varchar) RETURNS varchar
     LAMBDA '<replace_with_athena_protect_function_name>:Production'
SELECT protect('hello world!', 'deAlpha'); 
USING EXTERNAL FUNCTION unprotect(val varchar, el varchar) RETURNS varchar
     LAMBDA '<replace_with_athena_protect_function_name>:Production'
SELECT unprotect('UtfVk UHgcD!', 'deAlpha'); 

 

Method: Tokenization

Type: NUMERIC

 

Athena Data Types

Athena Max Size

Protegrity Max Size

DECIMAL

4K (4,096 bytes)

4K (4,096 bytes)

INTEGER

BIGINT

DOUBLE

 

External Function Sample Definitions:

USING EXTERNAL FUNCTION protect(val INTEGER, el varchar) RETURNS INTEGER 
     LAMBDA '<replace_with_athena_protect_function_name>:Production'
SELECT protect(1234, 'deInt4') as protected_int;

USING EXTERNAL FUNCTION unprotect(val INTEGER, el varchar) RETURNS INTEGER 
     LAMBDA '<replace_with_athena_protect_function_name>:Production'
SELECT unprotect(1626684183, 'deInt4') as clear_int;
USING EXTERNAL FUNCTION protect(val BIGINT, el varchar) RETURNS BIGINT 
     LAMBDA '<replace_with_athena_protect_function_name>:Production'
SELECT protect(2147483648, 'deInt8') as protected_int8;

USING EXTERNAL FUNCTION unprotect(val BIGINT, el varchar) RETURNS BIGINT 
     LAMBDA '<replace_with_athena_protect_function_name>:Production'
SELECT unprotect(-5629842771706374842, 'deInt8') as clear_int8;
USING EXTERNAL FUNCTION protect(val decimal(3,2), el varchar) RETURNS decimal(3,2)
     LAMBDA '<replace_with_athena_protect_function_name>:Production'
SELECT protect(decimal '1.23', 'deDecimal') as protected_decimal;

USING EXTERNAL FUNCTION unprotect(val decimal(3,2), el varchar) RETURNS decimal(3,2)
     LAMBDA '<replace_with_athena_protect_function_name>:Production'
SELECT unprotect(decimal '6.16', 'deDecimal') as clear_decimal;

Method: Tokenization

Type: Date YYYY-MM-DD

 

Athena Data Types

Athena Max Size

Protegrity Max Size

DATE (any supported format)

10 bytes

10 bytes

 

External Function Sample Definitions:

USING EXTERNAL FUNCTION protect(val DATE, el varchar) RETURNS DATE 
     LAMBDA '<replace_with_athena_protect_function_name>:Production'
SELECT protect(DATE('2020-11-09'), 'deDate') as protected_date;

USING EXTERNAL FUNCTION unprotect(val DATE, el varchar) RETURNS DATE 
     LAMBDA '<replace_with_athena_protect_function_name>:Production'
SELECT unprotect(DATE('1283-09-22'), 'deDate') as clear_date;

 

 

Method: Tokenization

Type: DATETIME YYYY-MM-DD HH:mm:ss

 

Athena Data Types

Athena Max Size

Protegrity Max Size

TIMESTAMP

29 bytes

29 bytes

External Function Sample Definitions:

USING EXTERNAL FUNCTION protect(val TIMESTAMP, el varchar) RETURNS TIMESTAMP 
     LAMBDA '<replace_with_athena_protect_function_name>:Production'
SELECT protect(timestamp '2020-11-09 02:02:03.123', 'deDOB') as protected_time; 

USING EXTERNAL FUNCTION unprotect(val TIMESTAMP, el varchar) RETURNS TIMESTAMP 
     LAMBDA '<replace_with_athena_protect_function_name>:Production'
SELECT unprotect(timestamp '1283-09-22 02:02:03.123', 'deDOB') as clear_time;

 

Method: Encryption

Type: AES

 

Athena Data Types

Athena Max Size

Protegrity Max Size

VARBINARY

 

 

 

External Function Sample Definitions:

USING EXTERNAL FUNCTION protect(val varbinary, el varchar) RETURNS varbinary 
     LAMBDA '<replace_with_athena_protect_function_name>:Production'
SELECT protect(CAST('protegrity' as varbinary), 'aes256'); 

USING EXTERNAL FUNCTION unprotect(val varbinary, el varchar) RETURNS varbinary 
     LAMBDA '<replace_with_athena_protect_function_name>:Production'
SELECT unprotect(from_hex('a79fa1c1a21f84e0d00acd8b20cf020c'), 'aes256');

 


Last modified : November 27, 2025