Skip to content

docs: expand update_connection_auth sample header for Snowflake keypair - #1844

Open
jacalata wants to merge 1 commit into
tableau:developmentfrom
jacalata:jac/samples-keypair-conversion
Open

docs: expand update_connection_auth sample header for Snowflake keypair#1844
jacalata wants to merge 1 commit into
tableau:developmentfrom
jacalata:jac/samples-keypair-conversion

Conversation

@jacalata

@jacalata jacalata commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Closes #1602.

Motivation

#1602 asked for an end-to-end example of converting a Tableau Cloud
datasource or workbook connection from Snowflake username/password auth
to keypair auth. The existing update_connection_auth.py already runs
the right code path -- it takes authentication_type as an arg and
sets embed_password=True. What it was missing was context: which
authentication_type strings are common, and the pre-saved-credential
prerequisite that applies to any embed_password conversion.

Initial draft of this PR added a dedicated keypair sample; folded that
into a header-comment update on update_connection_auth.py after
noticing the code duplication. See 949d602 for the fold-in.

Behavior change

Samples only -- no library changes. Adds a ~25-line header comment to
samples/update_connection_auth.py:

  • Lists common authentication_type values including auth-keypair,
    oauth, AD Service Principal, sqlserver, and Username Password
  • Explains that embed_password=True binds the connection to a
    matching pre-saved credential on the site, looked up by
    (username, connection class, role)
  • Spells out the Snowflake-keypair prerequisite: the private key must
    be saved on the site under Site Settings -> Saved Credentials for
    Data Sources before the sample runs. Without it, the update writes
    the new auth type into metadata but subsequent extract refreshes
    and connection tests fail.
  • Notes REST API version support (v3.27 for datasource/workbook
    connections, v3.28 for flows)

Test plan

Docs-only change to a sample; no automated tests exist for samples/.

  • python samples/update_connection_auth.py --help still shows the
    same args (help output unchanged)
  • Manual: against a Tableau Cloud site with a pre-saved Snowflake
    private-key credential, run the sample with
    authentication_type=auth-keypair; connection's auth_type flips
    and extract refresh succeeds
  • Manual: without pre-saved credentials, connection test fails
    post-update as documented

🤖 Generated with Claude Code

Adds samples/update_connection_to_keypair.py demonstrating how to
convert an existing Tableau Cloud datasource or workbook connection
from username/password to Snowflake keypair authentication using the
REST API v3.27 flow. Documents the prerequisite that the private key
must first be saved under Site Settings -> Saved Credentials for Data
Sources on the site.

Refs tableau#1602

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@jacalata jacalata changed the title feat: add sample for converting connection auth to Snowflake keypair docs: expand update_connection_auth sample header for Snowflake keypair Aug 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Key pair authentication while publishing to Cloud from onprem using Tableau SDK

1 participant