Skip to content

SNOW-2904031: get_snowsight_url() fails for Azure accounts with MissingConnectionRegionError #2724

@perry-mitchell

Description

@perry-mitchell

SnowCLI version

3.13.1

Python version

3.14.2

Platform

macOS-15.7.1-arm64-arm-64bit-Mach-O

What happened

When running snow app run on our Azure based Snowflake account, the command fails towards the end of the process on URL generation. The app does deploy and run, but this final step interrupts a successful exit.

Most relevant output
  Traceback (most recent call last):
    File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/api/commands/snow_typer.py", line 141, in command_callable_decorator
      raise exception
    File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/api/commands/snow_typer.py", line 135, in command_callable_decorator
      result = command_callable(*args, **kw)
    File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/api/commands/decorators.py", line 173, in wrapper
      return func(**options)
    File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/api/commands/decorators.py", line 173, in wrapper
      return func(**options)
    File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/api/commands/decorators.py", line 173, in wrapper
      return func(**options)
    File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/_plugins/nativeapp/v2_conversions/compat.py", line 228, in wrapper
      return func(*args, **kwargs)
    File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/_plugins/nativeapp/commands.py", line 187, in app_run
      f"Your application object ({app_model.fqn.name}) is now available:\n{app.get_snowsight_url()}"
    File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/api/cli_global_context.py", line 250, in wrapper
      return func(*args, **kwargs)
    File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/_plugins/nativeapp/entities/application.py", line 984, in get_snowsight_url
      return make_snowsight_url(
          sql_executor._conn, f"/#/apps/application/{name}"
      )
    File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/_plugins/connection/util.py", line 216, in make_snowsight_url
      deployment = get_context(conn)
    File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/_plugins/connection/util.py", line 172, in get_context
      return get_region(conn)
    File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/_plugins/connection/util.py", line 157, in get_region
      raise MissingConnectionRegionError(host or conn.host)
  snowflake.cli._plugins.connection.util.MissingConnectionRegionError: The connection host (EVAxxxxx.east-us-2.azure.snowflakecomputing.com) was missing or not in the expected format (<account>.<deployment>.snowflakecomputing.com)

My config file looks like the following:

#default_connection_name = "MAIN"
default_connection_name = "TESTING_AZURE"

[connections.MAIN]
account = "ZVZXXXX-MAIN"
user = "perry@xxxx.xxx"
authenticator = "SNOWFLAKE_JWT"
private_key_path = "<snip>/.snowflake/rsa_key.p8"
database = "MAIN"
schema = "PERRY_TEST"
warehouse = "MAIN_DEFAULT"
role = "ACCOUNTADMIN"

[connections.TESTING_AZURE]
account = "ZVZXXXX-TESTING_AZURE"
#account = "EVAXXXXX.east-us-2.azure"
host = "EVAXXXXX.east-us-2.azure.snowflakecomputing.com"
user = "PERRY"
authenticator = "SNOWFLAKE_JWT"
role = "ACCOUNTADMIN"
private_key_path = "<snip>/.snowflake/rsa_key.p8"

Note that our AWS-based account works fine in this regard. I have obfuscated our unique domains/accounts/usernames/paths. Note also that the console output has been tailed - only the very end is shown.

Console output

2025-12-16 09:49:05 DEBUG [snowflake.connector.vendored.urllib3.connectionpool] https://evaxxxxx.east-us-2.azure.snowflakecomputing.com:443 "POST /queries/v1/query-request?requestId=35ab610b-f2e0-43a5-9817-0b21b5b421aa&request_guid=ad661011-36d3-44c3-b76d-795103d6a238 HTTP/1.1" 200 None
2025-12-16 09:49:05 DEBUG [snowflake.connector.network] SUCCESS
2025-12-16 09:49:05 DEBUG [snowflake.connector.network] ret[code] = None, after post request
2025-12-16 09:49:05 DEBUG [snowflake.connector.network] Query id: 01c11595-0303-44a6-0003-bd7f00719eea
2025-12-16 09:49:05 DEBUG [snowflake.connector._query_context_cache] deserialize_json_dict() called: data from server: {'entries': [{'id': 0, 'timestamp': 1765871345448611, 'priority': 0, 'context': 'CJqltIAw'}]}
2025-12-16 09:49:05 DEBUG [snowflake.connector._query_context_cache] Cache Entry: (0, 1765871344970682, 0)
2025-12-16 09:49:05 DEBUG [snowflake.connector._query_context_cache] deserialize {'id': 0, 'timestamp': 1765871345448611, 'priority': 0, 'context': 'CJqltIAw'}
2025-12-16 09:49:05 DEBUG [snowflake.connector._query_context_cache] sync_priority_map called priority_map size = 0, new_priority_map size = 1
2025-12-16 09:49:05 DEBUG [snowflake.connector._query_context_cache] trim_cache() called. treeSet size is 1 and cache capacity is 5
2025-12-16 09:49:05 DEBUG [snowflake.connector._query_context_cache] trim_cache() returns. treeSet size is 1 and cache capacity is 5
2025-12-16 09:49:05 DEBUG [snowflake.connector._query_context_cache] deserialize_json_dict() returns
2025-12-16 09:49:05 DEBUG [snowflake.connector._query_context_cache] Cache Entry: (0, 1765871345448611, 0)
2025-12-16 09:49:05 DEBUG [snowflake.connector.cursor] sfqid: 01c11595-0303-44a6-0003-bd7f00719eea
2025-12-16 09:49:05 DEBUG [snowflake.connector.cursor] query execution done
2025-12-16 09:49:05 DEBUG [snowflake.connector.cursor] SUCCESS
2025-12-16 09:49:05 DEBUG [snowflake.connector.cursor] PUT OR GET: False
2025-12-16 09:49:05 DEBUG [snowflake.connector.cursor] Query result format: arrow
2025-12-16 09:49:05 DEBUG [snowflake.connector.cursor] Number of results in first chunk: 1
2025-12-16 09:49:05 DEBUG [snowflake.connector.result_batch] Using nanoarrow as the arrow data converter
2025-12-16 09:49:05 DEBUG [snowflake.connector.CArrowIterator] Arrow BatchSize: 1
2025-12-16 09:49:05 DEBUG [snowflake.connector.CArrowIterator] Arrow chunk info: batchCount 1, columnCount 1, use_numpy: 0
2025-12-16 09:49:05 DEBUG [snowflake.connector.nanoarrow_arrow_iterator] Batches read: 0
2025-12-16 09:49:05 DEBUG [snowflake.connector.result_set] beginning to schedule result batch downloads
2025-12-16 09:49:05 DEBUG [snowflake.connector.CArrowIterator] Current batch index: 0, rows in current batch: 1
2025-12-16 09:49:05 DEBUG [snowflake.cli.api.commands.snow_typer] Executing command exception callback
2025-12-16 09:49:05 DEBUG [snowflake.cli.api.commands.snow_typer] Executing command exception callback
2025-12-16 09:49:05 DEBUG [snowflake.cli.api.connections] ConnectionCache: no event loop; connections will close at exit.
2025-12-16 09:49:05 DEBUG [snowflake.cli.api.connections] ConnectionCache: no event loop; connections will close at exit.
2025-12-16 09:49:05 DEBUG [snowflake.cli.api.connections] ConnectionCache: no event loop; connections will close at exit.
2025-12-16 09:49:05 DEBUG [snowflake.cli.api.connections] ConnectionCache: no event loop; connections will close at exit.
2025-12-16 09:49:05 DEBUG [snowflake.cli.api.commands.snow_typer] Executing command post execution callback
2025-12-16 09:49:05 DEBUG [snowflake.cli.api.commands.snow_typer] Executing command post execution callback
2025-12-16 09:49:05 DEBUG [snowflake.cli.api.connections] ConnectionCache: no event loop; connections will close at exit.
2025-12-16 09:49:05 DEBUG [snowflake.cli.api.connections] ConnectionCache: no event loop; connections will close at exit.
2025-12-16 09:49:05 DEBUG [snowflake.cli.api.connections] ConnectionCache: no event loop; connections will close at exit.
2025-12-16 09:49:05 DEBUG [snowflake.cli.api.connections] ConnectionCache: no event loop; connections will close at exit.
2025-12-16 09:49:05 DEBUG [snowflake.cli.api.connections] ConnectionCache: no event loop; connections will close at exit.
2025-12-16 09:49:05 DEBUG [snowflake.cli.api.connections] ConnectionCache: no event loop; connections will close at exit.
2025-12-16 09:49:05 DEBUG [snowflake.connector.network] Opentelemtry otel injection failed
Traceback (most recent call last):
  File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/api/commands/snow_typer.py", line 141, in command_callable_decorator
    raise exception
  File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/api/commands/snow_typer.py", line 135, in command_callable_decorator
    result = command_callable(*args, **kw)
  File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/api/commands/decorators.py", line 173, in wrapper
    return func(**options)
  File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/api/commands/decorators.py", line 173, in wrapper
    return func(**options)
  File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/api/commands/decorators.py", line 173, in wrapper
    return func(**options)
  File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/_plugins/nativeapp/v2_conversions/compat.py", line 228, in wrapper
    return func(*args, **kwargs)
  File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/_plugins/nativeapp/commands.py", line 187, in app_run
    f"Your application object ({app_model.fqn.name}) is now available:\n{app.get_snowsight_url()}"
                                                                         ~~~~~~~~~~~~~~~~~~~~~^^
  File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/api/cli_global_context.py", line 250, in wrapper
    return func(*args, **kwargs)
  File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/_plugins/nativeapp/entities/application.py", line 984, in get_snowsight_url
    return make_snowsight_url(
        sql_executor._conn, f"/#/apps/application/{name}"  # noqa: SLF001
    )
  File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/_plugins/connection/util.py", line 216, in make_snowsight_url
    deployment = get_context(conn)
  File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/_plugins/connection/util.py", line 172, in get_context
    return get_region(conn)
  File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/cli/_plugins/connection/util.py", line 157, in get_region
    raise MissingConnectionRegionError(host or conn.host)
snowflake.cli._plugins.connection.util.MissingConnectionRegionError: The connection host (evaxxxxx.east-us-2.azure.snowflakecomputing.com) was missing or not in the expected format (<account>.<deployment>.snowflakecomputing.com)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/homebrew/Cellar/snowflake-cli/3.13.1/libexec/lib/python3.14/site-packages/snowflake/connector/network.py", line 448, in request
    from opentelemetry.trace.propagation.tracecontext import (
        TraceContextTextMapPropagator,
    )
ModuleNotFoundError: No module named 'opentelemetry'
2025-12-16 09:49:05 DEBUG [snowflake.connector.network] remaining request timeout: 5000 ms, retry cnt: 1
2025-12-16 09:49:05 DEBUG [snowflake.connector.network] Request guid: c7cb005c-a923-477b-9276-55aaae730d4a
2025-12-16 09:49:05 DEBUG [snowflake.connector.network] socket timeout: 60
2025-12-16 09:49:05 DEBUG [snowflake.connector.vendored.urllib3.connectionpool] https://evaxxxxx.east-us-2.azure.snowflakecomputing.com:443 "POST /telemetry/send?request_guid=c7cb005c-a923-477b-9276-55aaae730d4a HTTP/1.1" 200 None
2025-12-16 09:49:05 DEBUG [snowflake.connector.network] SUCCESS
2025-12-16 09:49:05 DEBUG [snowflake.connector.network] ret[code] = None, after post request
╭─ Error ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ The connection host (evaxxxxx.east-us-2.azure.snowflakecomputing.com) was missing or not in the expected format (<account>.<deployment>.snowflakecomputing.com)                   │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
2025-12-16 09:49:05 DEBUG [snowflake.connector.connection] closed
2025-12-16 09:49:05 DEBUG [snowflake.connector.connection] No async queries seem to be running, deleting session
2025-12-16 09:49:05 DEBUG [snowflake.connector.network] remaining request timeout: 5000 ms, retry cnt: 1
2025-12-16 09:49:05 DEBUG [snowflake.connector.network] Request guid: 478b22b5-bbea-4c77-9f7c-8152638575ae
2025-12-16 09:49:05 DEBUG [snowflake.connector.network] socket timeout: 60
2025-12-16 09:49:05 DEBUG [snowflake.connector.vendored.urllib3.connectionpool] https://evaxxxxx.east-us-2.azure.snowflakecomputing.com:443 "POST /session?delete=true&request_guid=478b22b5-bbea-4c77-9f7c-8152638575ae HTTP/1.1" 200 None
2025-12-16 09:49:05 DEBUG [snowflake.connector.network] SUCCESS
2025-12-16 09:49:05 DEBUG [snowflake.connector.network] ret[code] = None, after post request
2025-12-16 09:49:05 DEBUG [snowflake.connector._query_context_cache] clear_cache() called
2025-12-16 09:49:05 DEBUG [snowflake.connector.connection] Session is closed

How to reproduce

snow app run --debug

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions