Sample BigQuery Remote Function definitions and calls for tokenization data elements.
Method: Tokenization
Type: ALPHA
BigQuery Data Types
Protegrity Max Size
STRING
16M (16,777,216 bytes)
External Function Sample Definitions:
CREATE FUNCTION PTY_PROTECT_ALPHA ( val STRING )
RETURNS STRING
REMOTE WITH CONNECTION `location.cloud-resource-connection-id`
OPTIONS (
endpoint ='https://<location-project-id>.cloudfunctions.net/<protect-function-name>',
user_defined_context = [("data_element", "TOK_ALPHA"),("op_type", "PROTECT")]
);
CREATE FUNCTION PTY_UNPROTECT_ALPHA ( val STRING )
RETURNS STRING
REMOTE WITH CONNECTION `location.cloud-resource-connection-id`
OPTIONS (
endpoint ='https://<location-project-id>.cloudfunctions.net/<protect-function-name>',
user_defined_context = [("data_element", "TOK_ALPHA"),("op_type", "PROTECT")]
);
Sample EF Calls:
SELECT PTY_PROTECT_ALPHA ('Hello World')
SELECT PTY_UNPROTECT_ALPHA('rfDtw sLMJK');
Method: Tokenization
Type: NUMERIC
BigQuery Data Types
Protegrity Max Size
NUMERIC
DECIMAL
INTEGER
FLOAT64
External Function Sample Definitions:
CREATE FUNCTION PTY_PROTECT_NUMERIC ( val NUMERIC )
RETURNS NUMERIC
REMOTE WITH CONNECTION `location.cloud-resource-connection-id`
OPTIONS (
endpoint ='https://<location-project-id>.cloudfunctions.net/<protect-function-name>',
user_defined_context = [("data_element", "TOK_NUMERIC"),("op_type", "PROTECT")]
);
CREATE FUNCTION PTY_UNPROTECT_NUMERIC ( val NUMERIC)
RETURNS NUMERIC
REMOTE WITH CONNECTION `location.cloud-resource-connection-id`
OPTIONS (
endpoint ='https://<location-project-id>.cloudfunctions.net/<protect-function-name>',
user_defined_context = [("data_element", "TOK_NUMERIC"),("op_type", "PROTECT")]
);
Sample EF Calls:
SELECT PTY_PROTECT_NUMERIC ('123456789');
SELECT PTY_UNPROTECT_NUMERIC ('752513497');
Method: Tokenization
Type: DATE YYYY-MM-DD
BigQuery Data Types
Protegrity Max Size
DATE (any supported format)
10 bytes
External Function Sample Definitions:
CREATE FUNCTION PTY_PROTECT_DATEYYYYMMDD ( val date )
RETURNS DATE
REMOTE WITH CONNECTION `location.cloud-resource-connection-id`
OPTIONS (
endpoint ='https://<location-project-id>.cloudfunctions.net/<protect-function-name>',
user_defined_context = [("data_element", "TOK_DATEYYYYMMDD"),("op_type", "PROTECT")]
);
CREATE FUNCTION PTY_UNPROTECT_DATEYYYYMMDD ( val date )
RETURNS DATE
REMOTE WITH CONNECTION `location.cloud-resource-connection-id`
OPTIONS (
endpoint ='https://<location-project-id>.cloudfunctions.net/<protect-function-name>',
user_defined_context = [("data_element", "TOK_DATEYYYYMMDD"),("op_type", "UNPROTECT")]
);
Sample EF Calls:
SELECT PTY_PROTECT_DATEYYYYMMDD ('2020-12-31');
SELECT PTY_UNPROTECT_DATEYYYYMMDD('0653-06-01');
SELECT PTY_PROTECT_DATEYYYYMMDD ('31-DEC-2020');
SELECT PTY_UNPROTECT_DATEYYYYMMDD('01-JUN-0653');
SELECT PTY_PROTECT_DATEYYYYMMDD('12/31/2020');
SELECT PTY_UNPROTECT_DATEYYYYMMDD('06/01/0653');
Method: Tokenization
Type: DATETIME
BigQuery Data Types
Protegrity Max Size
DATE
10 bytes
DATETIME
29 bytes
External Function Sample Definitions:
CREATE FUNCTION PTY_PROTECT_DATETIME ( val DATETIME )
RETURNS DATETIME
REMOTE WITH CONNECTION `location.cloud-resource-connection-id`
OPTIONS (
endpoint ='https://<location-project-id>.cloudfunctions.net/<protect-function-name>',
user_defined_context = [("data_element", "TOK_DATETIME"),("op_type", "PROTECT")]
);
CREATE FUNCTION PTY_UNPROTECT_DATETIME ( val DATETIME )
RETURNS DATETIME
REMOTE WITH CONNECTION `location.cloud-resource-connection-id`
OPTIONS (
endpoint ='https://<location-project-id>.cloudfunctions.net/<protect-function-name>',
user_defined_context = [("data_element", "TOK_DATETIME"),("op_type", "UNPROTECT")]
);