Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
@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?
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
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