Skip to main content

Instance activation guide

Step 1: Look up available dentsu Client Keys

In your Translate app instance, query the instance configuration to see all dentsu Client Keys provisioned for your account:

SELECT
  dentsu_client_key,
  status,
  is_default,
  legacy,
  client_schema,
  activation_code
FROM <application_name>.app_public.instance_config
ORDER BY
  legacy DESC,
  dentsu_client_key;

Replace <application_name> with your Translate app instance database name. This returns all dentsu Client Keys provisioned for your account by the provider. Each row represents a key that can be activated in this Translate app instance.

ColumnDescription
dentsu_client_keyThe client key identifier
statusAVAILABLE (not yet activated), ACTIVATED (active), or NOT AVAILABLE (belongs to a different instance group and cannot be activated in this Translate app instance)
legacyTRUE if this is a pre-existing key migrated from the previous version and not yet activated. Once activated, this changes to FALSE. New keys are always FALSE.
activation_codeThe code needed to activate this key
client_schemaThe schema where _to_table results will be written after activation (e.g. <client_key>)

Step 2: Activate legacy keys

If you have any keys with legacy=TRUE, activate them in your current (existing) Translate app instance. Activating creates a dedicated client schema for your key and ensures all future _to_table results are written to a consistent location. This prepares your workflows for the eventual retirement of the legacy results schema and for potential multi-tenant activations where additional dentsu Client Keys may be provisioned for your account.

Before activating, be aware of the schema change. Activation changes where _to_table template results are written:

  • Before activation (legacy mode): Results are written to both the legacy schema (results.<template>_match) and the new client schema (<client_key>.<template>_match_output). The table structure is the same, but table names differ.
  • After activation: Results are written to the new client schema only (<client_key>.<template>_match_output). The legacy results schema stops receiving new data.

If you have downstream processes, pipelines, or code that reads from the legacy results schema, update them to read from <client_key> before activating. You can use the legacy dual-write period to validate — both locations contain the same data while the instance remains in legacy mode, so you can point your processes at the new schema and confirm everything works before committing to activation.

Once ready, activate each legacy key:

CALL <application_name>.app_public.activate_instance('<ACTIVATION_CODE>');

Replace <activation_code> with the value from Step 1 for the legacy row.

Verify after activation

SELECT
  dentsu_client_key,
  status,
  is_default,
  legacy,
  client_schema
FROM <application_name>.app_public.instance_config
ORDER BY dentsu_client_key;

Confirm that:

  • The key now shows status=AVAILABLE and legacy=FAKSE (activation transitions the key from legacy to activated mode)
  • A client schema has been created (e.g. <client_key>)
  • Any non-legacy keys assigned to a different instance group now show status=NOT AVAILABLE — this is expected and confirms the isolation is working

Step 3: Activate new keys

If you have keys with legacy=FALSE and status=AVAILABLE, these are newly provisioned dentsu Client Keys ready for activation.

If this is your only key (no legacy keys), activate it directly in your current Translate app instance:

CALL <application_name>.app_public.activate_instance('<ACTIVATION_CODE>');

Multi-tenant scenarios

If you have already activated a legacy key (Step 2) and the new key shows status=NOT AVAILABLE, it belongs to a different instance group and requires a separate Translate app instance:

  1. Install a new Translate app instance from the Snowflake Marketplace listing
  2. In the new Translate app instance, query available keys:

    SELECT
      dentsu_client_key,
      status,
      is_default,
      legacy,
      client_schema,
      activation_code
    FROM
      <application_name>.app_public.instance_config
    ORDER BY
      legacy DESC,
      dentsu_client_key;
  3. Locate the key you want to activate (status=AVAILABLE)
  4. Activate it:

    CALL <application_name>.app_public.activate_instance('<ACTIVATION_CODE>');
    
  5. Verify:

    SELECT
      dentsu_client_key,
      status,
      is_default,
      legacy,
      client_schema
    FROM
      <application_name>.app_public.instance_config
    ORDER BY
      dentsu_client_key;
  6. Confirm that the key shows status=ACTIVATED and the client schema has been created

Repeat for each additional dentsu Client Key that requires its own Translate app instance.

Important: New (non-legacy) keys always write _to_table results to the client schema only (<client_key>.<template>_match_output). There is no dual-write to the legacy results schema.

Important notes

  • Order matters. Always activate legacy keys first in your existing Translate app instance before installing new app instances for non-legacy keys. This ensures proper instance group isolation.
  • One instance group per Translate app instance. Each Translate app instance can only hold keys from the same instance group. Attempting to activate a key from a different group returns: "is not authorized for this instance of the app."
  • Legacy keys without activation. Legacy keys provide data access without explicit activation, but activating them is recommended to establish a dedicated client schema, consolidate your result output location, and prepare for potential multi-tenant activations.
  • Default key. The first activated key becomes the default. To change the default, use:

    CALL <application_name>.app_public.activate_instance('<ACTIVATION_CODE>', TRUE);
  • Deactivation. To deactivate a key:

    CALL <application_name>.app_public.deactivate_instance('<ACTIVATION_CODE>');

    If the deactivated key was the default, the remaining activated key auto-promotes.