Skip to main content

This package contains bindings and middle ware required for fabric functions built on python.

Project description

Fabric Functions Python Worker

Introduction

This project contains the necessary bindings and middleware we can register on a python function in order to receive fabric data from our worker extension.

Fabric Item Binding

By importing the fabric_item_input binding, the user can add a new attribute to their fabric function. This input has the same properties as the FabricItem attribute and binding from the host extension and will pass down to the worker the information to create a FabricItem:

class FabricItem:
    def __init__(self, aliasName: str, connectionString: str, fabricItemType: ItemType, endpoints: typing.Dict[str, Endpoint]):
        self.__aliasName = aliasName
        self.__connectionString = connectionString
        self.__fabricItemType = fabricItemType
        self.__endpoints = endpoints

where Endpoint is a class containing a string ConnectionString and a string AccessToken

Depending on the itemType specified in the input binding, we can map the item type to either the default FabricItem, a FabricSqlConnection (for SQL or Datamarts), or a FabricLakehouseFilesClient (for LakeHouse files).

@fabric_item_input(app, argName="myDatamart", alias="MyDatamart", item_type=ItemType.Datamart)
@app.route(route="hello_fabric")
def hello_fabric(req: func.HttpRequest, myDatamart: FabricSqlConnection) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')
    conn = myDatamart.connect()

    # Use pyodbc connection

    currentTime = datetime.datetime.now()

    return func.HttpResponse(f"Hello Fabric. The current time is {currentTime.time()}.")

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

fabric_user_data_functions-0.1.84rc0.tar.gz (20.4 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file fabric_user_data_functions-0.1.84rc0.tar.gz.

File metadata

File hashes

Hashes for fabric_user_data_functions-0.1.84rc0.tar.gz
Algorithm Hash digest
SHA256 4bd60f09783e43e6ea5f61b40507b3c78b3e8dbfb94c85c527b57cdcb0eb7f8e
MD5 019dabf762cb6b753bdf1a93067e62b9
BLAKE2b-256 232f4a0ac9ea3cbf8968ab624f9d61e08567697dd46d61e20cc4dd25988624fa

See more details on using hashes here.

File details

Details for the file fabric_user_data_functions-0.1.84rc0-py3-none-any.whl.

File metadata

File hashes

Hashes for fabric_user_data_functions-0.1.84rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 cf82963a9bf513fb3f35075d020f24acdf154aa393ecfcd3e405574a084fc3d3
MD5 f9eb4a6729c43e8c432be7d42874ccc5
BLAKE2b-256 92565f33edb3161a5ad17b9822ff911ce3ddca1e6797edca07bbeb6e9bbb806d

See more details on using hashes here.

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