Teradata Package for Python Function Reference | 17.10 - test_script - Teradata Package for Python - Look here for syntax, methods and examples for the functions included in the Teradata Package for Python.

Teradata® Package for Python Function Reference

Product
Teradata Package for Python
Release Number
17.10
Published
April 2022
Language
English (United States)
Last Update
2022-08-19
lifecycle
previous
Product Category
Teradata Vantage
teradataml.table_operators.Script.test_script = test_script(self, supporting_files=None, input_data_file=None, script_args='', exec_mode='sandbox', **kwargs)
DESCRIPTION:
    Function enables user to run script in docker container environment outside
    Vantage.
    Input data for user script is read from file.
 
PARAMETERS:
    supporting_files:
        Optional Argument
        Specifies a file or list of supporting files like model files to be
        copied to the container.
        Types: string or list of str
 
    input_data_file:
        Required Argument.
        Specifies the name of the input data file.
        It should have a path relative to the location specified in
        "files_local_path" argument.
        If set to None, read data from AMP, else from file passed in the argument
        'input_data_file'.
        File should have at least permissions of mode 644.
        Types: str
 
    script_args:
        Optional Argument.
        Specifies command line arguments required by the user script.
        Types: str
 
    exec_mode:
        Optional Argument.
        Specifies the mode in which user wants to test the script.
        If set to 'sandbox', the user script will run within the sandbox
        environment, else it will run locally on user's system.
        Permitted Values: 'sandbox', 'local'
        Default Value: 'sandbox'
        Types: str
 
    kwargs:
        Optional Argument.
        Specifies the keyword arguments required for testing.
        Keys can be:
            data_row_limit:
                Optional Argument. Ignored when data is read from file.
                Specifies the number of rows to be taken from all amps when
                reading from a table or view on Vantage.
                Default Value: 1000
                Types: int
 
            password:
                Optional Argument. Required when reading from database.
                Specifies the password to connect to vantage where the data
                resides.
                Types: str
 
            data_file_delimiter:
                Optional Argument.
                Specifies the delimiter used in the input data file. This
                argument can be specified when data is read from file.
                Default Value: '        '
                Types: str
 
            data_file_header:
                Optional Argument.
                Specifies whether the input data file contains header. This
                argument can be specified when data is read from file.
                Default Value: True
                Types: bool
 
            timeout:
                Optional Argument.
                Specifies the timeout for docker API calls when running in
                sandbox mode.
                Default Value: 5000
                Types: int
 
            data_file_quote_char:
                Optional Argument.
                Specifies the quotechar used in the input data file.
                This argument can be specified when data is read from file.
                Default Value: '"'
                
            logmech:
                Optional Argument.
                Specifies the type of logon mechanism to establish a connection to
                Teradata Vantage.
                Permitted Values: 'TD2', 'TDNEGO', 'LDAP', 'KRB5' & 'JWT'.
                    TD2:
                        The Teradata 2 (TD2) mechanism provides authentication
                        using a Vantage username and password. This is the default
                        logon mechanism using which the connection is established
                        to Vantage.
 
                    TDNEGO:
                        A security mechanism that automatically determines the
                        actual mechanism required, based on policy, without user's
                        involvement. The actual mechanism is determined by the
                        TDGSS server configuration and by the security policy's
                        mechanism restrictions.
 
                    LDAP:
                        A directory-based user logon to Vantage with a directory
                        username and password and is authenticated by the directory.
 
                    KRB5 (Kerberos):
                        A directory-based user logon to Vantage with a domain
                        username and password and is authenticated by
                        Kerberos (KRB5 mechanism).
                        Note:
                            User must have a valid ticket-granting ticket in
                            order to use this logon mechanism.
 
                    JWT:
                        The JSON Web Token (JWT) authentication mechanism enables
                        single sign-on (SSO) to the Vantage after the user
                        successfully authenticates to Teradata UDA User Service.
                        Note:
                            User must use logdata parameter when using 'JWT' as
                            the logon mechanism.
                Default Value: TD2
                Types: str
 
                Note:
                    teradataml expects the client environments are already setup with appropriate
                    security mechanisms and are in working conditions.
                    For more information please refer Teradata Vantage™ - Advanced SQL Engine
                    Security Administration at https://www.info.teradata.com/
 
            logdata:
                Optional Argument.
                Specifies parameters to the LOGMECH command beyond those needed by
                the logon mechanism, such as user ID, password and tokens
                (in case of JWT) to successfully authenticate the user.
                Types: str
 
        Types: dict
 
RETURNS:
    Output from user script.
 
RAISES:
    TeradataMlException
 
EXAMPLES:
    # Assumption - sto is Script() object. Please refer to help(Script)
    # for creating Script object.
    # Run user script in sandbox mode with input from data file.
 
    >>> sto.test_script(input_data_file='../barrier.csv',
    ...                 data_file_delimiter=',',
    ...                 data_file_quote_char='"',
    ...                 data_file_header=True,
    ...                 exec_mode='sandbox')
 
    ############ STDOUT Output ############
            word  count_input
    0          1            1
    1        Old            1
    2  Macdonald            1
    3        Had            1
    4          A            1
    5       Farm            1
    >>>
 
    # Run user script in local mode with input from table.
    >>> sto.test_script(data_row_limit=300, password='alice', exec_mode='local')
 
    ############ STDOUT Output ############
            word  count_input
    0          1            1
    1        Old            1
    2  Macdonald            1
    3        Had            1
    4          A            1
    5       Farm            1
    
    # Run user script in sandbox mode with logmech as 'TD2'.
    >>> sto.test_script(script_args="4 5 10 6 480", password="alice", logmech="TD2")
 
    # Run user script in sandbox mode with logmech as 'TDNEGO'.
    >>> sto.test_script(script_args="4 5 10 6 480", password="alice", logmech="TDNEGO")
 
    # Run user script in sandbox mode with logmech as 'LDAP'.
    >>> sto.test_script(script_args="4 5 10 6 480", password="alice", logmech="LDAP")
 
    # Run user script in sandbox mode with logmech as 'KRB5'.
    >>> sto.test_script(script_args="4 5 10 6 480", password="alice", logmech="KRB5")
 
    # Run user script in sandbox mode with logmech as 'JWT'.
    >>> sto.test_script(script_args="4 5 10 6 480", password="alice",
                        logmech='JWT', logdata='token=eyJpc...h8dA')