Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
LauraLloret
Contributor
Contributor

Extract metadata from Qlik Sense Enterprise on Windows

Hello,

I would like to extract the metadata of the APPs that we have: QVDs connected, tables fields, etc.

I have read how to do it through python with an Api_key, but with Qlik Sense SaaS service I have not been able to obtain said Api_key, a consultor has told me that it should be because this option is only available for Qlik Sense Cloud.
Could you tell me what I need and how can I connect to get the information?

I have located Qlik Enterprise Manager tool, but I don't know if it has an additional cost or if it is the solution I am looking for.

Thank you so much.

Labels (3)
2 Replies
jprdonnelly
Employee
Employee

@LauraLloret - API keys on Qlik Cloud (SaaS) are available to be generated through a user's Profile page, as long as they are assigned the "Developer" role.

Note that even a Tenant Admin must be assigned this role before the "Generate New Key" button is available to her through Management Console -> Settings or within Profile Settings (the sub-menu from your initials icon in the top-right after login).

When you say that you want to extract the metadata of the Apps, are you looking to extract the Lineage?

- @jprdonnelly
Marc
Employee
Employee

this depends on where you want to use the data.

If you want to use it in Qlik Sense, then have a look at the App Metadata Analyzer 

https://help.qlik.com/en-US/sense-admin/February2023/Subsystems/DeployAdministerQSE/Content/Sense_De...

The QVF for this can be found on your Central Node server in C:\ProgramData\Qlik\Sense\Repository\DefaultApps

 

If you need to use the data somewhere else. we can use the same API the App Metadata Analyzer uses to collect the information.

http(s)://{server}/api/v1/apps/{GUID}/data/metadata

Using the PowerShell module QlikSenseCLI this can be achieved with the following script QlikSense-GetAppMetadata.ps1 

Connect-QlikSense -TrustAllCertificates #-Hostname "ifRequired" -VirtualProxy "ifRequired" 
$Apps = Get-QSApp 
$Proxy = Get-QSProxyservice -Local
$Hostname = $Proxy.ServerNodeConfiguration.HostName
$CollectedMetadata = New-Object System.Collections.Generic.List[PSCustomObject]
foreach($App In $Apps){
    $URL = "https://$($Hostname)/api/v1/apps/$($App.Id)/data/metadata"
    try{
        $Metadata = Invoke-QSGet $URL -Raw
        $CollectedMetadata.Add([PSCustomObject]@{App=$App;Metadata=$Metadata})
    }catch{
        $CollectedMetadata.Add([PSCustomObject]@{App=$App;Metadata=$null})
    }
}
$CollectedMetadata