github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/examples/hooks/delta_lake_azure_export.lua (about)

     1  --[[
     2      args:
     3          - table_defs (e.g. ["table1.yaml", "table2", ...])
     4          - lakefs.access_key_id
     5          - lakefs.secret_access_key
     6          - azure.storage_account
     7          - azure.access_key
     8  ]]
     9  local azure = require("azure")
    10  local formats = require("formats")
    11  local delta_exporter = require("lakefs/catalogexport/delta_exporter")
    12  
    13  local table_descriptors_path = "_lakefs_tables"
    14  local sc = azure.blob_client(args.azure.storage_account, args.azure.access_key)
    15  local function write_object(_, key, buf)
    16      return sc.put_object(key,buf)
    17  end
    18  local delta_client = formats.delta_client(args.lakefs.access_key_id, args.lakefs.secret_access_key)
    19  local delta_table_details = delta_exporter.export_delta_log(action, args.table_defs, write_object, delta_client, table_descriptors_path)
    20  
    21  for t, details in pairs(delta_table_details) do
    22      print("Delta Lake exported table \"" .. t .. "\"'s location: " .. details["path"] .. "\n")
    23  end