Skip to main content

#Snowflake5 discussing

Environment: Tableau Cloud, REST API 3.29, tableauserverclient (Python), Snowflake connection with authentication='oauth', oauth-config-id='default', server-oauth='server-custom'. 

 

ISSUE 

 

We publish workbooks via REST API/PAT in a CI/CD pipeline. We're trying to reproduce a connection state that Tableau Desktop can produce, but the REST API can't. 

 

Desktop-published state (Data Sources tab shows "Not embedded in connection"): 

auth_type='oauth' username='<user>' embed_password=False 

 

Our pipeline's state (REST API publish): 

auth_type='oauth' username='' embed_password=False 

 

The Desktop state results in viewers being prompted for their own credentials. Ours results in every viewer getting BadOAuthCredentials, since there's no username hint at all. 

 

WHAT WE TRIED 

 

Using Server.workbooks.update_connection() (PUT /workbooks/{id}/connections/{connectionId}), we tested every combination: 

 

1. embed_password=True + username -> credential embeds, all viewers connect silently as that one identity (no prompt). 

2. embed_password=False + blank username -> every viewer gets BadOAuthCredentials. 

3. embed_password=False + non-empty username (trying to match Desktop) -> the server silently discards the username; a follow-up GET always returns username=''. No error is returned, it just reverts. 

4. Re-embedding (embed_password=True) via update_connection without supplying a password fails outright with 404020: Resource Not Found ... This may be due to incorrect or missing credentials. There's no way to flip an OAuth connection back to embedded through this endpoint without a real credential, and OAuth connections have no password-style credential the API can supply. 

 

We confirmed #3 fails identically whether attempted via connections=[ConnectionCredentials(...)] at publish time, or via a separate post-publish update_connection call. Same result both ways. 

 

QUESTIONS 

 

1. Is there any documented REST API mechanism (any endpoint, any API version) to set an OAuth connection to embedPassword=false while preserving a non-empty userName hint, matching what Desktop produces? 

2. Is that "not embedded + username hint" state inherently tied to an interactive/vizportal-authenticated session (i.e. genuinely unreachable via PAT/REST), or is there an undocumented parameter/flow we're missing? 

3. Is per-viewer OAuth prompting for a Snowflake connection with oauth-config-id='default' expected to work at all when the workbook was published via REST API/PAT, or is this a Desktop-only capability? 

 

Happy to share full request/response payloads if that helps with diagnosis. 

 

#OAuth  #Tableau APIs & Embedding

 

#Tableau Cloud  #Tableau Server

 

 

#Snowflake

1 answer
  1. Sep 14, 7:44 PM

    Hi @Wascar Perez

     

    thanks for sharing the details with the community. 

    What I would try if I were in your shoes: set embed_password=True with your REST API pipeline as usual, then try to unset the embedded password with the VizPortal API. It is undocumented and unofficial, but you just need to trace your browser traffic with dev tools when using the Server UI then google the VizPortal API info a bit to see how to authenticate against it and you will figure it easily if you are a developer. 

    I checked on my sandbox. It is this endpoint:

    Hi thanks for sharing the details with the community.

0/9000

When I click to edit a data source, I get this pop-up:Has anyone else experienced this Invalid Credentials pop-up when trying to update a data source in Tableau Desktop?

 

I then click on Connect, and the pop-up disappears, but otherwise nothing else happens. 

So I try again and click on Edit Data Source Credentials, which brings me to this screen:

Invalid Credentials_Edit Data Source Credentials.jpg

 

Then I click on the "Sign In" button and get this error message:

Invalid Credentials_Edit Data Source Credentials_Sign In_.jpg

I am logged into Snowflake and Tableau Cloud this whole time. I have tried clearing saved server sign-ins via Help>Settings and Performance in Desktop, and then restarting, but I get the same error. I have tried removing and re-adding the Snowflake saved credentials on Tableau Cloud, but that doesn't fix anything. 

I can use the same Snowflake credentials to create a new data source in the same Tableau Desktop workbook, and even go back in and edit that new data source, but I can't edit any data sources from before without getting this pop-up. I can also edit those same data sources on Tableau Cloud without issue, but not in Desktop. 

 

Not sure what to do here. Any ideas? 

 

#Tableau Desktop & Web Authoring  #Snowflake

3 answers
  1. Sep 14, 5:14 PM

    Hi,  

     

    Did you figure out what was going on with this error?  I got this invalid credentials popup as well.  If I click on publish data source the connection window pops up and I can log in to my database.  I can then cancel the publish window and edit the data source.   

     

    Just as you found, this doesn't happen with new data sources. 

    Thanks

0/9000

Thought Starter: How Are You Using Snowflake with Data Cloud? 

 ❄️ Snowflake users — this one’s for you!

 

💥 With Data Cloud's native Snowflake connector, you can bring in powerful third-party data without moving or copying it. That means faster insights, real-time actions, and stronger customer profiles.  

We’re curious:

  • What types of data are you connecting from Snowflake?
  • How has this impacted your business outcomes?
  • Have you tried Zero Copy with Snowflake?

🔧 Here's a resource to get you started:  Explore Snowflake Connectors

 

💬 Drop your use cases, screenshots, or questions below. Let’s build smarter together.

 

#Snowflake #Data Management #Data Cloud

0/9000

I am not able to create formula field on data stream that connected to snowflake. I need to add few hardcoded values for party identification name and type. I am system admin and was able to formula on home org DSO. Anyone faced similar issue? Any solution would be appreciated.

#Datastream #Data Cloud #Snowflake #Formulas
3 comments
  1. Apr 9, 2025, 6:41 AM

    If that is the case then you might want to create a case with Data Cloud support for further assistance.

0/9000

We have a number of use cases for Virtualizing data from #Snowflake. As we get started, we can connect, sync, configure multi-column external id... but Validate and Sync only shows Tables, not Views. 

 

How can we use this Salesforce Connect SQL for Snowflake adapter to virtualize Views, which is our primary way we expose our data in Snowflake? 

 

CC: @Ross Belmont

 

#Integration @Integration

 

(PS I thought I posted this yesterday, but I don't see it... sorry of this is a re-post)

7 answers
0/9000

Can someone please help me with the best way to implement the above scenario. I need to fetch 50k rows from snowflake once a month and upload it as as csv file into target system. I'm able to fetch few 100s row at once and convert into csv and upload it to target. But i wanted to understand ways to do the same process for 50k rows. Thanks in advance.

#snowflake #mule4

1 answer
  1. Jun 30, 2024, 3:21 AM

    You can use the select on the snowflake connector (or JDBC connector I'd imagine if snowflake allows JDBC connections), I would look at any settings that impact streaming for that.. like fetch size (this will avoid too many round trips as the default is set to 10 I believe) and the repeatable vs non repeatable streaming stuff (as I presume you only need to access the stream of rows once!) and then you can look at dataweave's streaming support: https://docs.mulesoft.com/dataweave/latest/dataweave-streaming

    Essentially you'll want to do your transformation to CSV, set the deferred=true on the output directive and then call your write to remote CSV file operation on whichever connector you're using. That makes the dataweave do a "from one stream to another" deferred mode of operation, which should avoid unnecessary I/O..

     

    I'd be doing tests locally with something like visual VM hooked up to the mule java process to make sure memory isn't blowing out or something - test with suitably large test cases to see what's going on, and you can try using the file connector in lieu of the FTP/SFTP or whatever you're going to use initially to see what's going on, then swap to the real connector and test again..

0/9000

Hello, I just started a 30-days free trail on testing data pipeline btn salesforce and snowflake. When I set up the output connection, I received an error message saying "JDBC driver encountered communication error. Message: HTTP status=504. Error in Job ID connector.4fGXtD077eILuFl1cKNHUV:"

 

A little bit background of this, when I entered the output connection from snowflake. I created the database, warehouse and schema first in snowflake and used them in the connection set up. Is it because I'm under a free trail from salesforce to cause this error?  Any inputs or suggestions are greatly appreciate! Thank you.

  #Tableau CRM #Salesforce #Snowflake ⌗[Tableau Integration] 

1 answer
0/9000

Hi, I'd like to understand the security aspect when using the Tableau CRM's Snowflake connector. Is there encryption in place for data in transit? Thanks!

 

#Tableau CRM  #Snowflake

Like @Ecaterina Menovsky  , I too am receiving an error when running data syncs on external Snowflake Data sets. I'm receiving the same error: Something went wrong while executing the remoteSync_AttendedMinsPartsConfs node: Error copying remote csv file to local. RMT(/home/waveconn/logs/waveconnectoragent/data/ .....  AttendedMinsPartsConfs.csv: permission denied

 

Again, it is never the same data sets I'm syncing and I can manually sync later in the day without issues.  It is more like 50% of the overnight scheduled syncs fail and subsequent dataflows don't update.  This issue started happening on 1/14 without any changes.  The Snowflake database shows the login from Salesforce and delivers the anticipated records.  It seems to be failing when the data is returned to SF  Any thoughts?

 

Thanks!

0/9000