Snowflake connectivity issue from Power BI/Tableau - powerbi

maybe a newbie question, but it's the first time I'm trying to connect to Snowflake from a BI tool.
I created a 30 trial account on Snowflake (not related to any organization) and trying to connect from both Power BI and Tableau (Desktop), but I receive a login error after inserting the credentials.
From Power BI:
Power BI error
Details: "ODBC: ERROR [HY000] [Microsoft][Snowflake] (4)
REST request for URL https://app.snowflake.com:443/session/v1/login-request?requestId=5fc2d087-7791-4094-85ae-a10f6712b1f2&request_guid=96ad6779-8c15-4e2d-8b19-7878d60e314d&warehouse=COMPUTE_WH failed: HTTP error (http error) - code=405.
From Tableau:
Tableau error
*An error occurred while communicating with Snowflake
Invalid username or password.
Error Code: 2438FAD7
[Snowflake][Snowflake] (4)
REST request for URL https://app.snowflake.com:443/session/v1/login-request?requestId=dec8ccd1-0d44-4f70-ba3c-a7da258b3cb1&request_guid=7da8e38a-926e-46af-9933-241556e11a05 failed: HTTP error (http error) - code=405.
*
I am using app.snowflake.com as the server, and my username and passwords as the credentials.
The user is has an ACCOUNTADMIN role.
I've tried to google the error but without luck.
Does someone has any clue what I am doing wrong?

When you are creating the ODBC or any connection, as the server include the whole URL as example below.
qf3XX52.europe-west4.gcp.snowflakecomputing.com

The url used is incorrect since app.snowflake.com is the URL for Snowsight application, it is not the entry point for any 3rd party application to Snowflake.
The correct URL for PowerBI would be in the following format:
"account-identifier".snowflakecomputing.com or if using the regionless format, then it would be : "org-name"-"acct-name".snowflakecomputing.com
Account identifier information is here: https://docs.snowflake.com/en/user-guide/admin-account-identifier.html#account-identifier-formats-by-cloud-platform-and-region

Related

Mapping data error while connecting facebook ads to aws appflow

I am trying to connect facebook ads toaws appflow . Following thos dochttps://docs.aws.amazon.com/appflow/latest/userguide/connectors-facebook-ads.html
Successfully configured the flow but in the third step it gives me an error
An error occurred while retrieving fields
Error while communicating to connector: The request failed because the service Source Facebook Ads returned the following error: Details: Invalid EntityId selection, ErrorCode: InvalidArgument.
Attaching screenshot of the same

Power BI REST API - Datasets GetDatasourcesAsAdmin 401 despite Tenant.ReadWrite.All

we have an Azure AD user who has the PowerBI Admin rights. The "scp" of the bearer token is:
"scp": "App.Read.All Capacity.ReadWrite.All Dashboard.ReadWrite.All Dataflow.ReadWrite.All Dataset.ReadWrite.All Group.Read.All Metadata.View_Any Report.ReadWrite.All StorageAccount.ReadWrite.All Tenant.ReadWrite.All Workspace.ReadWrite.All"
I need to get the Tables of a Dataset. Since there is no direct connection (when running with the .NET Sdk, the "Tables" property is always empty) I thought I could get the Datasource and connect to it.
However, when I try to do it like here:
https://learn.microsoft.com/en-us/rest/api/power-bi/admin/datasets-get-datasources-as-admin
I always get a 401 when trying to get the datasource for a dataset like this:
https://api.powerbi.com/v1.0/myorg/admin/datasets/cfafbeb1-8037-4d0c-896e-a46fb27ff229/datasources
When just requesting the dataset via:
https://api.powerbi.com/v1.0/myorg/admin/datasets/cfafbeb1-8037-4d0c-896e-a46fb27ff229
it works and gets me the dataset back.
Any suggestions, why I get a 401 here?

ODBC: ERROR [28000] Invalid OAuth access token when connectig to Snowflake from Power BI using SSO

I tried to setup a connection from Power BI Desktop to Snowflake, using SSO. I followed the instructions as described here: https://docs.snowflake.com/en/user-guide/oauth-powerbi.html
So, I did the following:
In Snowflake I ran the following, where <AZURE_AD_ISSUER> was replaced by https://sts.windows.net/ + Our Azure AD Tenant ID + /
create security integration powerbi
type = external_oauth
enabled = true
external_oauth_type = azure
external_oauth_issuer = '<AZURE_AD_ISSUER>'
external_oauth_jws_keys_url = 'https://login.windows.net/common/discovery/keys'
external_oauth_audience_list = ('https://analysis.windows.net/powerbi/connector/Snowflake')
external_oauth_token_user_mapping_claim = 'upn'
external_oauth_snowflake_user_mapping_attribute = 'login_name';
When trying to connect from Power BI Desktop I get the following error:
Unable to connect
We encountered an error while trying to connect.
Details: "ODBC: ERROR [28000] Invalid OAuth access token.
I also tried external_oauth_snowflake_user_mapping_attribute = 'email_address'; but without success.
Anyone got an idea where this can go wrong?
According to the docs, you can check two things:
Verify that the external_oauth_issuer parameter contains the correct value
Verify the access token in Azure AD is current
For more error messages regarding PowerBI SSO to Snowflake see here: https://docs.snowflake.com/en/user-guide/oauth-powerbi.html#error-messages
Also another hint: I saw this once and a simple update of PowerBI solved the problem.

How many users can i add in a folder in Power BI report Server

I am trying to add 8000 users with role "Content Manager" in a folder in Power BI Report Server throw Web Service. But it is only able to add 1820 users. If I am trying to add more than 1820 user it is throwing below error.
"Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: An internal error occurred on the report server. See the error log for more details."
I am getting the same error while trying to add through Report Server Web Portal.
Does anyone have any idea about this?

How to get access to google analytics data API using Pentaho PDI (Kettle version 4.2.1)

When I use the Google Analytics Input Step, all I have to enter is my account username and password for the Authorization. From there, the step looks up the Domain Table ID for me. So by just giving this step my username and password, choosing the id and the metrics, I am able to retrieve all of the information I need--no other authorization required.
However, I am trying to recreate this by using the HTTP Client Lookup step (with a Generate Rows step before it). I gave it the following URL, as described by http://code.google.com/apis/analytics/docs/gdata/v3/reference.html:
https://www.googleapis.com/analytics/v3/data/ga?ids=ga:{*My Domain Table ID*}&start-date=2010-08-01&end-date=2012-04-01&metrics=ga:newVisits
and filled in the Http Login and Http Password fields with my username and password (exactly same as in Google Analytics Input step), respectively. However, when I preview the results of this HTTP Client step, the transformation returns an error that says that Login is required.
I have also tried this with the REST Client Lookup Step (with a Generate Rows step before it). I chose the GET HTTP method, the JSON application type, and filled in my HTTP Login and password for authentication. When I try to run this, it does not return an error, but in the result field of the preview output it says "Invalid Credentials."
What is the Google Analytics Input Step doing differently from the HTTP Client Lookup and REST Client Lookup steps? And how do I access the same information using those lookup steps?
I want to be able to access API's from other web sites as well, not just from Google Analytics, so it is important for me to be able to do this for any API.
Any help appreciated!
I have made ​​a request to google analytics using HTTP client step, and it works perfect.
First, you need a token from Google Analytics:
https://www.google.com/accounts/ClientLogin?accountType=GOOGLE&Email=xxxxxxx#gmail.com&Passwd=xxxxxxx&service=analytics
This token is a long string.
The token is going to step client as HTTP header. The parameter must be called:
Authorization = token
Others parameters:
GData-Version=3.
After you add the request parameters. (ids, start-date, end-date, metrics, filter, segment)
You also have to add the key to your profile id, as the last parameter.
This request returns a XML. Use XML parser step to get metrics value.
which Kettle version are you using? as far as i know there are some changes in google api
read this bug report:
http://jira.pentaho.com/browse/PDI-7942