Skip to main content

Python wrapper to SAP HDLFS API

Project description

PyHDLFS

PythonAPI for SAP HDLFS using the RestAPI

For authentication both options are supported: key/certification and keystore/passphrase. The suffix of the certification file is used for selecting the authentication method.

  • Certification: .crt or .pem
  • Keystore: .pkcs12, .p12 or .pfx

Status: In Progress, unsupported

Generated Documentation

Table of Contents

hdlfs

get_path_content

def get_path_content(response: dict) -> list

Extracts the path items from response of LISTSTATUS API

Arguments:

  • response: Response from LISTSTATUS

Returns:

List of path items (folders and files)

get_recursive_path_content

def get_recursive_path_content(response: dict) -> list

Extracts the path items from response of LISTSTATUS_RECURSIVE API

Arguments:

  • response: Response from LISTSTATUS_RECURSIVE

Returns:

List of path items (folders and files)

hdlfs_api

def hdlfs_api(method: str, operation: str) -> dict

DECORATOR for all API-calls

Arguments:

  • method: HTTP-method [get, put, ..]
  • operation: RESTAPI name

Returns:

response of Rest API

upload

@hdlfs_api(method='put', operation='CREATE')
def upload(endpoint: str,
           certificate: str,
           password: str,
           destination='',
           data="",
           noredirect=False,
           headers={},
           verify=True) -> dict

Upload file to HDFS using CREATE-API

Arguments:

  • endpoint: endpoint url
  • certificate: filename with path to certificate or pkcs12-keystore
  • password: filename with path to key or passphrase for keystore
  • destination: destination path of file
  • data: file content
  • noredirect: API parameter
  • headers: Passing optional parameter to API
  • verify: Enables/ disables server verification

Returns:

response

rename

@hdlfs_api(method='put', operation='RENAME')
def rename(endpoint: str,
           certificate: str,
           password: str,
           path='',
           destination='',
           headers={},
           verify=True) -> dict

Rename/Move file in HDFS with RENAME-API

Arguments:

  • endpoint: endpoint url
  • certificate: filename with path to certificate or pkcs12-keystore
  • password: filename with path to key or passphrase for keystore
  • path: path to source file
  • destination: destination of file
  • headers: Passing optional parameter to API
  • verify: Enables/ disables server verification

Returns:

response

copy

@hdlfs_api(method='put', operation='COPY')
def copy(endpoint,
         certificate,
         password,
         path='',
         destination='',
         a_sync=False,
         headers={},
         verify=True)

Copy file in HDFS with Copy-API

Arguments:

  • endpoint: endpoint url
  • certificate: filename with path to certificate or pkcs12-keystore
  • password: filename with path to key or passphrase for keystore
  • path: path to source file
  • destination: destination of file
  • a_sync: API parameter
  • headers: Passing optional parameter to API
  • verify: Enables/ disables server verification

Returns:

response

delete

@hdlfs_api(method='del', operation='DELETE')
def delete(endpoint: str,
           certificate: str,
           password: str,
           path='',
           headers={},
           verify=True) -> dict

Delete file in HDFS with DELETE-API

Arguments:

  • endpoint: endpoint url
  • certificate: filename with path to certificate or pkcs12-keystore
  • password: filename with path to key or passphrase for keystore
  • path: path to source file
  • headers: Passing optional parameter to API
  • verify: Enables/ disables server verification

Returns:

response

file_status

@hdlfs_api(method='get', operation='GETFILESTATUS')
def file_status(endpoint: str,
                certificate: str,
                password: str,
                path='',
                headers={},
                verify=True)

Get file status

Arguments:

  • endpoint: endpoint url
  • certificate: filename with path to certificate or pkcs12-keystore
  • password: filename with path to key or passphrase for keystore
  • path: path to source file
  • headers: Passing optional parameter to API
  • verify: Enables/ disables server verification

Returns:

response

list_path

@hdlfs_api(method='get', operation='LISTSTATUS')
def list_path(endpoint: str,
              certificate: str,
              password: str,
              path='',
              headers={},
              verify=True)

Get all items of folder by using LISTSTATUS-API

Arguments:

  • endpoint: endpoint url
  • certificate: filename with path to certificate or pkcs12-keystore
  • password: filename with path to key or passphrase for keystore
  • path: path to source file
  • headers: Passing optional parameter to API
  • verify: Enables/ disables server verification

Returns:

response

list_path_recursive

@hdlfs_api(method='get', operation='LISTSTATUS_RECURSIVE')
def list_path_recursive(endpoint: str,
                        certificate: str,
                        password: str,
                        path='',
                        start_after=None,
                        headers={},
                        verify=True) -> dict

Get all items of folder and sub-folders by using LISTSTATUS_RECURSIVE-API

Arguments:

  • endpoint: endpoint url
  • certificate: filename with path to certificate or pkcs12-keystore
  • password: filename with path to key or passphrase for keystore
  • path: path to source file
  • start_after: API parameter for paging result
  • headers: Passing optional parameter to API
  • verify: Enables/ disables server verification

Returns:

response

whoami

@hdlfs_api(method='get', operation='WHOAMI')
def whoami(endpoint: str, certificate: str, password: str, verify=True)

Get user information by WHOAMI-API

Arguments:

  • endpoint: endpoint url
  • certificate: filename with path to certificate or pkcs12-keystore
  • password: filename with path to key or passphrase for keystore
  • verify: Enables/ disables server verification

Returns:

response

get_operations_status

@hdlfs_api(method='get', operation='GETOPERATIONSTATUS')
def get_operations_status(endpoint: str,
                          certificate: str,
                          password: str,
                          token='',
                          verify=True) -> dict

Get operation status by GETOPERATIONSTATUS-API

Arguments:

  • endpoint: endpoint url
  • certificate: filename with path to certificate or pkcs12-keystore
  • password: filename with path to key or passphrase for keystore
  • verify: Enables/ disables server verification

Returns:

response

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyhdlfs-0.0.4.tar.gz (5.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page