https://linen.dev logo
#singer-tap-development
Title
# singer-tap-development
c

christoph

10/05/2022, 12:13 AM
(Asking here because the tap's Github seems a bit quiet) Anyone has any experience with the
tap-spreadsheets-anywhere
code base? I'm looking to add Azure Blob Storage support (I thought it was already in there but it's not) and that requires for a core API change in the tap to be made at the crucial point where the tap actually makes the
smart_open.open()
call here: https://github.com/ets/tap-spreadsheets-anywhere/blob/5d9115985d3f9e7a568c6dcc68975f0c038253ff/tap_spreadsheets_anywhere/format_handler.py#L20. The optional
transport_params
parameter needs to be added into the
smart_open.open()
invocation and be passed down an Azure SDK specific object (instance of Azure's
BlobServiceClient
) like this:
Copy code
# stream from Azure Blob Storage
connect_str = os.environ['AZURE_STORAGE_CONNECTION_STRING']
transport_params = {
    'client': azure.storage.blob.BlobServiceClient.from_connection_string(connect_str),
}
for line in open('<azure://mycontainer/myfile.txt>', transport_params=transport_params):
    print(line)
Just wondering if anyone has any ideas of how to gently introduce that change into the tap.