Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
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