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.91rc0.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for fabric_user_data_functions-0.1.91rc0.tar.gz
Algorithm Hash digest
SHA256 420613969693670a026c392d6d6611fc225b54c4fcff50e42e7dc2d74502221a
MD5 06ea6e3ed54467b0d4e785a84fa01e48
BLAKE2b-256 5799efdfe6088282292de7a62f6e45e3cfc0e83e5db22e1db9f2cde5183058c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fabric_user_data_functions-0.1.91rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 06bb6bae1ce689f1fa69d5e4f2324be559496354d207f92cfeb704a8c1348156
MD5 9bb05c8819f69bfbc54564c8f3cbf90e
BLAKE2b-256 cdfa67881ece487a4803fdd49f641ae738670e197cdd1a9838369423b314ee2f

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