ALTER APPLICATION SET SPECIFICATIONS

Erstellt oder aktualisiert eine App-Spezifikation für eine Snowflake Native App.

Bemerkung

Dieser Befehl kann nur von einer Snowflake Native App verwendet werden:

Siehe auch:

ALTER APPLICATION, ALTER APPLICATION … { APPROVE | DECLINE} SPECIFICATION, ALTER APPLICATION DROP SPECIFICATION

Syntax

Integration für externen Zugriff

ALTER APPLICATION SET SPECIFICATION <app_spec_name>
  TYPE = EXTERNAL_ACCESS
  LABEL = '<label>'
  DESCRIPTION = '<description>'
  { HOST_PORTS | PRIVATE_HOST_PORTS } = ( '<value>' [, '<value>', ... ] )
Copy

Sicherheitsintegration (CLIENT_CREDENTIALS)

ALTER APPLICATION SET SPECIFICATION <app_spec_name>
    TYPE = SECURITY_INTEGRATION
    LABEL = '<string_literal>'
    DESCRIPTION = '<string_literal>'
    OAUTH_TYPE = 'CLIENT_CREDENTIALS'
    OAUTH_TOKEN_ENDPOINT = '<string_literal>'
    OAUTH_ALLOWED_SCOPES = ( '<scope>' [ , '<scope>' ... ] );
Copy

Sicherheitsintegration (AUTHORIZATION_CODE)

ALTER APPLICATION SET SPECIFICATION <app_spec_name>
  TYPE = SECURITY_INTEGRATION
  LABEL = '<string_literal>'
  DESCRIPTION = '<string_literal>'
  OAUTH_TYPE = 'AUTHORIZATION_CODE'
  OAUTH_TOKEN_ENDPOINT = '<string_literal>'
  [ OAUTH_AUTHORIZATION_ENDPOINT = '<string_literal>' ]
  [ OAUTH_ALLOWED_SCOPES = ( '<scope>' [ , '<scope>' ... ] ) ];
Copy

Sicherheitsintegration (JWT_BEARER)

ALTER APPLICATION SET SPECIFICATION <app_spec_name>
  TYPE = SECURITY_INTEGRATION
  LABEL = '<string_literal>'
  DESCRIPTION = '<string_literal>'
  OAUTH_TYPE = 'JWT_BEARER'
  OAUTH_TOKEN_ENDPOINT = '<string_literal>'
  [ OAUTH_AUTHORIZATION_ENDPOINT = '<string_literal>' ]
  [ OAUTH_ALLOWED_SCOPES = ( '<scope>' [ , '<scope>' ... ] ) ];
Copy

Freigabeangebot

ALTER APPLICATION SET SPECIFICATION <app_spec_name>
  TYPE = LISTING
  LABEL = '<string_literal>'
  DESCRIPTION = '<string_literal>'
  TARGET_ACCOUNTS = '<account_list>'
  LISTING = <listing_name>
  [ AUTO_FULFILLMENT_REFRESH_SCHEDULE = '<schedule>' ]
Copy

Allgemeine Parameter

app_spec_name

Bezeichner für die App-Spezifikation.

TYPE = {EXTERNAL_ACCESS | SECURITY_INTEGRATION | LISTING}

Gibt den Typ der App-Spezifikation an. Folgende Werte werden unterstützt:

LABEL = 'label'

Gibt eine Bezeichnung für die App-Spezifikation an. Diese Bezeichnung ist der Name der App-Spezifikation, der für den Verbraucher sichtbar ist. Jede App-Spezifikation muss eine eindeutige Bezeichnung haben.

DESCRIPTION = 'description'

Gibt eine Beschreibung der App-Spezifikation. Snowflake empfiehlt, Informationen über den Typ der App-Spezifikation anzugeben, und warum dieser von der App benötigt wird.

Parameter für die Integration für den externen Zugriff

HOST_PORTS | PRIVATE_HOST_PORTS = ( 'value' [ , 'value', ... ] )

Gibt eine Liste von Host-Ports oder privaten Host-Ports an, mit denen sich die App verbinden kann. Diese Ports werden von Integrationen für den externen Zugriff verwendet.

Sicherheitsintegrationsparameter – CLIENT_CREDENTIALS

OAUTH_TYPE = 'CLIENT_CREDENTIALS'

Gibt den Typ der Sicherheitsintegration für externe API-Authentifizierung an Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

OAUTH_TOKEN_ENDPOINT = 'string_literal'

Gibt den Token-Endpunkt an, den der Client verwendet, um ein Zugriffstoken zu erhalten, indem seine Autorisierungsgewährung oder das Aktualisierungstoken vorlegt wird. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

OAUTH_ALLOWED_SCOPES = ( 'scope' [  , 'scope' ... ]  )

Gibt eine durch Kommas getrennte Liste von in einfache Anführungszeichen gesetzten Geltungsbereichen an, die verwendet werden sollen, wenn während des OAuth-Client-Anmeldeinformationsablaufs vom USAGE-Server aus eine Anforderung durch eine Rolle mit OAuth-Berechtigung für die Integration gestellt wird. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

OAUTH_ACCESS_TOKEN_VALIDITY = integer

Gibt die Standard-Gültigkeitsdauer des OAuth-Zugriffstokens (in Sekunden) an, das von einem OAuth-Server ausgestellt wird. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

Sicherheitsintegrationsparameter – AUTHORIZATION_CODE

OAUTH_TYPE = 'AUTHORIZATION_CODE'

Gibt den Typ der Sicherheitsintegration für externe API-Authentifizierung an Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

OAUTH_TOKEN_ENDPOINT = 'string_literal'

Gibt den Token-Endpunkt an, den der Client verwendet, um ein Zugriffstoken zu erhalten, indem seine Autorisierungsgewährung oder das Aktualisierungstoken vorlegt wird. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

OAUTH_AUTHORIZATION_ENDPOINT = 'string_literal'

Gibt die URL für die Authentifizierung beim externen Dienst an. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

OAUTH_ACCESS_TOKEN_VALIDITY = integer

Gibt die Standard-Gültigkeitsdauer des OAuth-Zugriffstokens (in Sekunden) an, das von einem OAuth-Server ausgestellt wird. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

OAUTH_REFRESH_TOKEN_VALIDITY = integer

Gibt die Standard-Gültigkeitsdauer des OAuth-Aktualisierungstokens (in Sekunden) an, das von einem OAuth-Server ausgestellt wird. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

Sicherheitsintegrationsparameter – JWT_BEARER

OAUTH_TYPE = 'JWT_BEARER'

Gibt den Typ der Sicherheitsintegration für externe API-Authentifizierung an Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

OAUTH_TOKEN_ENDPOINT = 'string_literal'

Gibt den Token-Endpunkt an, den der Client verwendet, um ein Zugriffstoken zu erhalten, indem seine Autorisierungsgewährung oder das Aktualisierungstoken vorlegt wird. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

OAUTH_AUTHORIZATION_ENDPOINT = 'string_literal'

Gibt die URL für die Authentifizierung beim externen Dienst an. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

OAUTH_REFRESH_TOKEN_VALIDITY = integer

Gibt die Standard-Gültigkeitsdauer des OAuth-Aktualisierungstokens (in Sekunden) an, das von einem OAuth-Server ausgestellt wird. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

Listing parameters

TARGET_ACCOUNTS = 'account_list'

Gibt eine Zeichenfolge von Zielkonten in einfachen Anführungszeichen ohne Leerzeichen an, die durch Kommas getrennt sind. Jedes Konto muss im Format OrgName.AccountName angegeben werden; zum Beispiel: 'ProviderOrg.ProviderAccount,PartnerOrg.PartnerAccount'. Sobald die Spezifikation genehmigt wird, werden diese Konten der Liste hinzugefügt. Wenn sie abgelehnt wird, werden alle Konten aus dem Freigabeangebot entfernt.

LISTING = listing_name

Gibt den Bezeichner des von der App erstellten externen Freigabeangebots an. Das Freigabeangebot muss bereits existieren und von der App mit einer Freigabe erstellt worden sein. Nachdem das Freigabeangebot in einer App-Spezifikation festgelegt wurde, kann der Name des Freigabeangebots nicht mehr geändert werden.

AUTO_FULFILLMENT_REFRESH_SCHEDULE = 'schedule'

Optional. Gibt den Aktualisierungszeitplan für die regionsübergreifende Datenfreigabe an: Dieser Parameter ist erforderlich, wenn Daten über Regionen hinweg freigegeben werden. Der Wert kann in zwei Formaten angegeben werden:

  • num MINUTE: Anzahl der Minuten, mit einem Minimum von 10 Minuten und einem Maximum von 11.520 Minuten (acht Tage).

  • USING CRON expression time_zone: Cron-Ausdruck mit Zeitzone für die Aktualisierung.

Nutzungshinweise

  • Um diesen Befehl verwenden zu können, müssen Anbieter sicherstellen, dass die Manifestdatei der App manifest_version = 2 verwendet.

Beispiele

Erstellen Sie eine App-Spezifikation für den externen Zugriff:

ALTER APPLICATION SET SPECIFICATION eai_spec
  TYPE = EXTERNAL_ACCESS
  LABEL = 'External API Access'
  DESCRIPTION = 'Connect to external weather API'
  HOST_PORTS = ('api.weather.com:443', 'api.openweather.org:443');
Copy

Erstellen Sie eine App-Spezifikation für eine OAuth-Sicherheitsintegration:

ALTER APPLICATION SET SPECIFICATION oauth_spec
  TYPE = SECURITY_INTEGRATION
  LABEL = 'OAuth Integration'
  DESCRIPTION = 'Connect to Microsoft Graph API'
  OAUTH_TYPE = 'CLIENT_CREDENTIALS'
  OAUTH_TOKEN_ENDPOINT = 'https://login.microsoftonline.com/YOUR_TENANT_ID/oauth2/v2.0/token'
  OAUTH_ALLOWED_SCOPES = ('https://graph.microsoft.com/.default');
Copy

Erstellen Sie eine App-Spezifikation für die Datenfreigabe über ein Freigabeangebot:

ALTER APPLICATION SET SPECIFICATION shareback_spec
  TYPE = LISTING
  LABEL = 'Telemetry Data Sharing'
  DESCRIPTION = 'Share telemetry and usage data with provider'
  TARGET_ACCOUNTS = 'ProviderOrg.ProviderAccount,PartnerOrg.PartnerAccount'
  LISTING = telemetry_listing
  AUTO_FULFILLMENT_REFRESH_SCHEDULE = '720 MINUTE';
Copy