ALTER STORAGE INTEGRATION¶
Modifie les propriétés d’une intégration de stockage existante.
- Voir aussi :
CREATE STORAGE INTEGRATION , DROP INTEGRATION , SHOW INTEGRATIONS , DESCRIBE INTEGRATION
Syntaxe¶
ALTER [ STORAGE ] INTEGRATION [ IF EXISTS ] <name> SET
[ cloudProviderParams ]
[ ENABLED = { TRUE | FALSE } ]
[ STORAGE_ALLOWED_LOCATIONS = ('<cloud>://<bucket>/<path>/' [ , '<cloud>://<bucket>/<path>/' ... ] ) ]
[ STORAGE_BLOCKED_LOCATIONS = ('<cloud>://<bucket>/<path>/' [ , '<cloud>://<bucket>/<path>/' ... ] ) ]
[ COMMENT = '<string_literal>' ]
ALTER [ STORAGE ] INTEGRATION [ IF EXISTS ] <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER [ STORAGE ] INTEGRATION <name> UNSET TAG <tag_name> [ , <tag_name> ... ]
ALTER [ STORAGE ] INTEGRATION [ IF EXISTS ] <name> UNSET {
ENABLED |
STORAGE_BLOCKED_LOCATIONS |
COMMENT
}
[ , ... ]
Où :
cloudProviderParams (for Amazon S3) ::= STORAGE_AWS_ROLE_ARN = '<iam_role>' [ STORAGE_AWS_OBJECT_ACL = 'bucket-owner-full-control' ] [ STORAGE_AWS_EXTERNAL_ID = '<external_id>' ]cloudProviderParams (for Microsoft Azure) ::= AZURE_TENANT_ID = '<tenant_id>'
Paramètres¶
name
Identificateur pour l’intégration à modifier. Si l’identificateur contient des espaces ou des caractères spéciaux, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse.
SET ...
Spécifie un(e) ou plusieurs paramètre(s)/propriété(s) à définir pour la table (séparés par des espaces, des virgules ou de nouvelles lignes) :
ENABLED = TRUE | FALSE
Spécifie si cette intégration de stockage est disponible pour une utilisation dans des zones de préparation.
TRUE
permet aux utilisateurs de créer de nouvelles zones de préparation faisant référence à cette intégration. Les zones de préparation existantes qui font référence à cette intégration fonctionnent normalement.FALSE
empêche les utilisateurs de créer de nouvelles zones de préparation faisant référence à cette intégration. Les zones de préparation existantes faisant référence à cette intégration ne peuvent pas accéder à l’emplacement de stockage dans la définition de zone de préparation.
STORAGE_ALLOWED_LOCATIONS = ('cloud_specific_url')
Limite explicitement les zones de préparation externes qui utilisent l’intégration pour faire référence à un ou plusieurs emplacements de stockage (Amazon S3, Google Cloud Storage ou Microsoft Azure). Prend en charge une liste d” URLs séparée par des virgules pour les compartiments existants et, éventuellement, les chemins utilisés pour stocker les fichiers de données à des fins de chargement/déchargement. Prend également en charge le caractère générique
*
ce qui signifie « autoriser l’accès à tous les compartiments et/ou chemins ».Notez que si la valeur
STORAGE_ALLOWED_LOCATIONS
inclut un emplacement de stockage spécifique, tous les sous-chemins du même emplacement doivent être autorisés. Aucun sous-chemin ne peut être inclus dans une valeurSTORAGE_BLOCKED_LOCATIONS
. Par exemple, siSTORAGE_ALLOWED_LOCATIONS
inclutstorage_location/
, alorsSTORAGE_BLOCKED_LOCATIONS
ne peut pas inclurestorage_location/path1/
. De même, siSTORAGE_ALLOWED_LOCATIONS
inclutstorage_location/path1/
, alorsSTORAGE_BLOCKED_LOCATIONS
ne peut pas inclurestorage_location/path1/path2/
, et ainsi de suite.Amazon S3
STORAGE_ALLOWED_LOCATIONS = ( 's3://bucket/path/' [ , 's3://bucket/path/' ... ] )
|STORAGE_ALLOWED_LOCATIONS = ( 's3gov://bucket/path/' [ , 's3gov://bucket/path/' ... ] )
bucket
est le nom d’un compartiment S3 qui stocke vos fichiers de données (par exemple,mybucket
).path
est un chemin facultatif sensible à la casse pour les fichiers de l’emplacement de stockage Cloud (c’est-à-dire que les fichiers ont des noms qui commencent par une chaîne commune) qui limite l’accès à un ensemble de fichiers. Les chemins sont appelés préfixes ou dossiers selon les services de stockage Cloud.
Google Cloud Storage
STORAGE_ALLOWED_LOCATIONS = ( 'gcs://bucket/path/' [ , 'gcs://bucket/path/' ... ] )
bucket
est le nom d’un compartiment GCS qui stocke vos fichiers de données (par exemple,mybucket
).path
est un chemin facultatif sensible à la casse pour les fichiers de l’emplacement de stockage Cloud (c’est-à-dire que les fichiers ont des noms qui commencent par une chaîne commune) qui limite l’accès à un ensemble de fichiers. Les chemins sont appelés préfixes ou dossiers selon les services de stockage Cloud.
Microsoft Azure
STORAGE_ALLOWED_LOCATIONS = ( 'azure://account.blob.core.windows.net/container/path/' [ , 'azure://account.blob.core.windows.net/container/path/' ... ] )
account
est le nom du compte Azure (par ex.myaccount
). Utilisez le point de terminaisonblob.core.windows.net
pour tous les types de comptes de stockage Azure Blob pris en charge, dont Data Lake Storage Gen2.container
est le nom du conteneur Azure qui stocke vos fichiers de données (par exemple,mycontainer
).path
est un chemin facultatif sensible à la casse pour les fichiers de l’emplacement de stockage Cloud (c’est-à-dire que les fichiers ont des noms qui commencent par une chaîne commune) qui limite l’accès à un ensemble de fichiers. Les chemins sont appelés préfixes ou dossiers selon les services de stockage Cloud.
STORAGE_BLOCKED_LOCATIONS = ('cloud_specific_url')
Empêche explicitement les zones de préparation externes qui utilisent l’intégration de référencer un ou plusieurs emplacements de stockage (Amazon S3, Google Cloud Storage, Microsoft Azure). Prend en charge une liste d” URLs séparée par des virgules pour les emplacements de stockage existants et, éventuellement, les chemins utilisés pour stocker les fichiers de données à des fins de chargement/déchargement. Couramment utilisé lorsque STORAGE_ALLOWED_LOCATIONS est défini sur le caractère générique
*
, ce qui permet d’accéder à tous les compartiments de votre compte à l’exception des emplacements de stockage bloqués et, éventuellement, des chemins d’accès.Note
Veillez à ne mettre entre guillemets que les URLs d’emplacement de stockage Cloud. Si vous mettez toute la valeur
STORAGE_BLOCKED_LOCATIONS
entre guillemets, la valeur n’est pas valide. Par conséquent, le paramètreSTORAGE_BLOCKED_LOCATIONS
est ignoré lorsque des utilisateurs créent des zones de préparation qui font référence à l’intégration du stockage.Amazon S3
STORAGE_BLOCKED_LOCATIONS = ( 's3://bucket/path/' [ , 's3://bucket/path/' ... ] )
|STORAGE_ALLOWED_LOCATIONS = ( 's3gov://bucket/path/' [ , 's3gov://bucket/path/' ... ] )
bucket
est le nom d’un compartiment S3 qui stocke vos fichiers de données (par exemple,mybucket
).path
est un chemin facultatif (ou répertoire) dans le compartiment qui limite encore plus l’accès aux fichiers de données.
Google Cloud Storage
STORAGE_BLOCKED_LOCATIONS = ( 'gcs://bucket/path/' [ , 'gcs://bucket/path/' ... ] )
bucket
est le nom d’un compartiment GCS qui stocke vos fichiers de données (par exemple,mybucket
).path
est un chemin facultatif (ou répertoire) dans le compartiment qui limite encore plus l’accès aux fichiers de données.
Microsoft Azure
STORAGE_BLOCKED_LOCATIONS = ( 'azure://account.blob.core.windows.net/container/path/' [ , 'azure://account.blob.core.windows.net/container/path/' ... ] )
account
est le nom du compte Azure (par ex.myaccount
).container
est le nom du conteneur Azure qui stocke vos fichiers de données (par exemple,mycontainer
).path
est un chemin facultatif (ou répertoire) dans le conteneur qui limite encore plus l’accès aux fichiers de données.
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]
Spécifie le nom de la balise et la valeur de la chaîne de la balise.
La valeur de la balise est toujours une chaîne de caractères et le nombre maximum de caractères pour la valeur de la balise est 256.
Pour plus d’informations sur la spécification des balises dans une instruction, voir Quotas de balises pour les objets et les colonnes.
COMMENT = 'string_literal'
Chaîne (littéral) qui spécifie un commentaire pour l’intégration.
UNSET ...
Spécifie un(e) ou plusieurs paramètres/propriété(s) à désactiver pour l’intégration de stockage, ce qui les réinitialise à leurs valeurs par défaut :
ENABLED
STORAGE_BLOCKED_LOCATIONS
TAG tag_name [ , tag_name ... ]
COMMENT
Paramètres du fournisseur Cloud (cloudProviderParams
)¶
Amazon S3
STORAGE_AWS_ROLE_ARN = 'iam_role'
Spécifie le nom de ressource Amazon (ARN) du rôle AWS de gestion des identités et des accès (IAM) qui octroie des privilèges sur le compartiment S3 contenant vos fichiers de données. Pour plus d’informations, voir Configuration de l’accès sécurisé à Amazon S3.
STORAGE_AWS_OBJECT_ACL = 'bucket-owner-full-control'
Permet de prendre en charge les listes de contrôle d’accès AWS (ACLs) pour accorder au propriétaire du compartiment S3 un contrôle total. Les fichiers créés dans les compartiments Amazon S3 à partir de données de table déchargées sont la propriété d’un rôle de gestion des identités et des accès AWS (IAM). Les ACLs prennent en charge le cas d’utilisation où les rôles IAM d’un compte AWS sont configurés pour accéder à des compartiments S3 d’un ou plusieurs autres comptes AWS. Sans la prise en charge ACL, les utilisateurs des comptes propriétaires de compartiments ne pourraient pas accéder aux fichiers de données déchargés vers une zone de préparation externe (S3) en utilisant une intégration de stockage.
Lorsque les utilisateurs déchargent les données de la table Snowflake dans des fichiers de données d’une zone de préparation S3 en utilisant COPY INTO <emplacement>, l’opération de déchargement applique une ACL aux fichiers de données déchargés. Les fichiers de données appliquent le privilège
"s3:x-amz-acl":"bucket-owner-full-control"
aux fichiers, accordant au propriétaire du compartiment S3 un contrôle total sur ces derniers.STORAGE_AWS_EXTERNAL_ID = 'external_id'
Spécifie un ID externe que Snowflake utilise pour établir une relation de confiance avec AWS. Vous devez spécifier le même ID externe dans la politique de confiance du rôle IAM que vous avez configuré pour cette intégration de stockage. Pour plus d’informations, voir Comment utiliser un ID externe lorsque vous accordez l’accès à vos ressources AWS à un tiers.
Microsoft Azure
AZURE_TENANT_ID = 'tenant_id'
Spécifie l” ID de votre client Office 365 auquel appartiennent les comptes de stockage autorisés et bloqués. Une intégration de stockage peut s’authentifier auprès d’un seul client. Les emplacements de stockage autorisés et bloqués doivent donc faire référence aux comptes de stockage qui appartiennent tous à ce client.
Pour trouver votre ID de client, connectez-vous au portail Azure et cliquez sur Azure Active Directory » Properties. L” ID de client s’affiche dans le champ Tenant ID.
Notes sur l’utilisation¶
Concernant les métadonnées :
Attention
Les clients doivent s’assurer qu’aucune donnée personnelle (autre que pour un objet utilisateur), donnée sensible, donnée à exportation contrôlée ou autre donnée réglementée n’est saisie comme métadonnée lors de l’utilisation du service Snowflake. Pour plus d’informations, voir Champs de métadonnées dans Snowflake.
Exemples¶
L’exemple suivant lance l’opération d’une intégration suspendue :
ALTER STORAGE INTEGRATION myint SET ENABLED = TRUE;