ALTER STORAGE INTEGRATION¶
Modifica as propriedades para uma integração de armazenamento existente.
- Consulte também:
CREATE STORAGE INTEGRATION , DROP INTEGRATION , SHOW INTEGRATIONS , DESCRIBE INTEGRATION
Sintaxe¶
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
}
[ , ... ]
Onde:
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>'
Parâmetros¶
name
Identificador da integração a ser alterada. Se o identificador contiver espaços ou caracteres especiais, toda a cadeia de caracteres deverá ser delimitada por aspas duplas. Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.
SET ...
Especifica uma ou mais propriedades/parâmetros a serem definidos para a tabela (separados por espaços em branco, vírgulas ou novas linhas):
ENABLED = TRUE | FALSE
Especifica se esta integração de armazenamento está disponível para uso em estágios.
TRUE
permite que os usuários criem novos estágios que fazem referência a esta integração. Os estágios existentes que fazem referência a esta função de integração normalmente.FALSE
impede que os usuários criem novos estágios que referenciem esta integração. Os estágios existentes que fazem referência a esta integração não podem acessar o local de armazenamento na definição do estágio.
STORAGE_ALLOWED_LOCATIONS = ('cloud_specific_url')
Limita explicitamente os estágios externos que utilizam a integração para referenciar um ou mais locais de armazenamento (Amazon S3, Google Cloud Storage ou Microsoft Azure). Oferece suporte a uma lista separada por vírgula de URLs para buckets existentes e, opcionalmente, caminhos usados para armazenar arquivos de dados para carregamento/descarregamento. Como alternativa, oferece suporte ao curinga
*
, que significa “permitir o acesso a todos os buckets e/ou caminhos”.Observe que se o valor
STORAGE_ALLOWED_LOCATIONS
incluir um local de armazenamento específico, todos os subcaminhos no mesmo local deverão ser permitidos. Nenhum subcaminho pode ser incluído em um valorSTORAGE_BLOCKED_LOCATIONS
. Por exemplo, seSTORAGE_ALLOWED_LOCATIONS
incluistorage_location/
, entãoSTORAGE_BLOCKED_LOCATIONS
não pode incluirstorage_location/path1/
. Da mesma forma, seSTORAGE_ALLOWED_LOCATIONS
incluistorage_location/path1/
, entãoSTORAGE_BLOCKED_LOCATIONS
não pode incluirstorage_location/path1/path2/
, e assim por diante.Amazon S3
STORAGE_ALLOWED_LOCATIONS = ( 's3://bucket/path/' [ , 's3://bucket/path/' ... ] )
|STORAGE_ALLOWED_LOCATIONS = ( 's3gov://bucket/path/' [ , 's3gov://bucket/path/' ... ] )
bucket
é o nome de um bucket S3 que armazena seus arquivos de dados (por exemplo,mybucket
).path
é um caminho opcional que distingue letras maiúsculas de minúsculas para arquivos no local de armazenamento em nuvem (ou seja, os arquivos têm nomes que começam com uma cadeia de caracteres comum) que limita o acesso a um conjunto de arquivos. Os caminhos são chamados alternativamente de prefixos ou pastas por diferentes serviços de armazenamento em nuvem.
Google Cloud Storage
STORAGE_ALLOWED_LOCATIONS = ( 'gcs://bucket/path/' [ , 'gcs://bucket/path/' ... ] )
bucket
é o nome de um bucket GCS que armazena seus arquivos de dados (por exemplo,mybucket
).path
é um caminho opcional que distingue letras maiúsculas de minúsculas para arquivos no local de armazenamento em nuvem (ou seja, os arquivos têm nomes que começam com uma cadeia de caracteres comum) que limita o acesso a um conjunto de arquivos. Os caminhos são chamados alternativamente de prefixos ou pastas por diferentes serviços de armazenamento em nuvem.
Microsoft Azure
STORAGE_ALLOWED_LOCATIONS = ( 'azure://account.blob.core.windows.net/container/path/' [ , 'azure://account.blob.core.windows.net/container/path/' ... ] )
account
é o nome da conta Azure (por exemplo,myaccount
). Use o ponto de extremidadeblob.core.windows.net
para todos os tipos com suporte de contas de armazenamento de blobs Azure, incluindo Data Lake Storage Gen2.container
é o nome do contêiner Azure que armazena seus arquivos de dados (por exemplo,mycontainer
).path
é um caminho opcional que distingue letras maiúsculas de minúsculas para arquivos no local de armazenamento em nuvem (ou seja, os arquivos têm nomes que começam com uma cadeia de caracteres comum) que limita o acesso a um conjunto de arquivos. Os caminhos são chamados alternativamente de prefixos ou pastas por diferentes serviços de armazenamento em nuvem.
STORAGE_BLOCKED_LOCATIONS = ('cloud_specific_url')
Proíbe explicitamente os estágios externos que utilizam a integração de referenciar um ou mais locais de armazenamento (Amazon S3, Google Cloud Storage ou Microsoft Azure). Oferece suporte a uma lista separada por vírgula de URLs para locais de armazenamento existentes e, opcionalmente, caminhos usados para armazenar arquivos de dados para carregamento/descarregamento. Comumente usado quando STORAGE_ALLOWED_LOCATIONS é definido como o curinga
*
, permitindo acesso a todos os buckets em sua conta exceto para locais de armazenamento bloqueados e, opcionalmente, caminhos.Nota
Certifique-se de incluir somente URLs de local individual de armazenamento em nuvem entre aspas. Se você incluir o valor inteiro
STORAGE_BLOCKED_LOCATIONS
entre aspas, o valor será inválido. Como resultado, a configuração do parâmetroSTORAGE_BLOCKED_LOCATIONS
é ignorada quando usuários criam estágios que fazem referência à integração de armazenamento.Amazon S3
STORAGE_BLOCKED_LOCATIONS = ( 's3://bucket/path/' [ , 's3://bucket/path/' ... ] )
|STORAGE_ALLOWED_LOCATIONS = ( 's3gov://bucket/path/' [ , 's3gov://bucket/path/' ... ] )
bucket
é o nome de um bucket S3 que armazena seus arquivos de dados (por exemplo,mybucket
).path
é um caminho opcional (ou diretório) no bucket que limita ainda mais o acesso aos arquivos de dados.
Google Cloud Storage
STORAGE_BLOCKED_LOCATIONS = ( 'gcs://bucket/path/' [ , 'gcs://bucket/path/' ... ] )
bucket
é o nome de um bucket GCS que armazena seus arquivos de dados (por exemplo,mybucket
).path
é um caminho opcional (ou diretório) no bucket que limita ainda mais o acesso aos arquivos de dados.
Microsoft Azure
STORAGE_BLOCKED_LOCATIONS = ( 'azure://account.blob.core.windows.net/container/path/' [ , 'azure://account.blob.core.windows.net/container/path/' ... ] )
account
é o nome da conta Azure (por exemplo,myaccount
).container
é o nome do contêiner Azure que armazena seus arquivos de dados (por exemplo,mycontainer
).path
é um caminho opcional (ou diretório) no contêiner que limita ainda mais o acesso aos arquivos de dados.
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]
Especifica o nome da tag e o valor da cadeia de caracteres dela.
O valor de tag é sempre uma cadeia de caracteres, e o número máximo de caracteres do valor da tag é 256.
Para obter informações sobre como especificar tags em uma instrução, consulte Cotas de tags para objetos e colunas.
COMMENT = 'string_literal'
Cadeia de caracteres (literal) que especifica um comentário da integração.
UNSET ...
Especifica uma ou mais propriedades/parâmetros a serem removidos para a integração de armazenamento, o que os restaura aos seus padrões:
ENABLED
STORAGE_BLOCKED_LOCATIONS
TAG tag_name [ , tag_name ... ]
COMMENT
Parâmetros do provedor de nuvem (cloudProviderParams
)¶
Amazon S3
STORAGE_AWS_ROLE_ARN = 'iam_role'
Especifica o Amazon Resource Name (ARN) da função AWS de gerenciamento de identidade e acesso (IAM) que concede privilégios no bucket S3 que contém seus arquivos de dados. Para obter mais informações, consulte Configuração de acesso seguro ao Amazon S3.
STORAGE_AWS_OBJECT_ACL = 'bucket-owner-full-control'
Habilita o suporte de listas de controle de acesso (ACLs) da AWS para conceder o controle total ao proprietário do bucket S3. Os arquivos criados nos buckets S3 da Amazon a partir de dados de tabela descarregados são de propriedade de uma função de Gerenciamento de Identidade e Acesso (IAM) do AWS. ACLs oferecem suporte ao caso de uso em que funções IAM em uma conta AWS são configuradas para acessar buckets S3 em uma ou mais outras contas AWS. Sem suporte para ACL, os usuários nas contas do proprietário do bucket não poderiam acessar os arquivos de dados descarregados para um estágio externo (S3) utilizando uma integração de armazenamento.
Quando os usuários descarregam os dados da tabela Snowflake para arquivos de dados em um estágio S3 usando COPY INTO <local>, a operação de descarregamento aplica uma ACL aos arquivos de dados descarregados. Os arquivos de dados aplicam o privilégio
"s3:x-amz-acl":"bucket-owner-full-control"
aos arquivos, concedendo ao proprietário do bucket S3 total controle sobre eles.STORAGE_AWS_EXTERNAL_ID = 'external_id'
Especifica um ID externo que o Snowflake usa para estabelecer uma relação de confiança com AWS. Você deve especificar o mesmo ID externo na política de confiança da função IAM que você configurou para esta integração de armazenamento. Para obter mais informações, consulte Como usar um ID externo ao conceder acesso aos seus recursos do AWS a terceiros.
Microsoft Azure
AZURE_TENANT_ID = 'tenant_id'
Especifica a ID de seu locatário do Office 365 ao qual pertencem as contas de armazenamento permitidas e bloqueadas. Uma integração de armazenamento pode autenticar a somente um locatário e, portanto, os locais de armazenamento permitidos e bloqueados devem se referir às contas de armazenamento que pertencem a este locatário.
Para encontrar sua ID de locatário, entre no portal Azure e clique em Azure Active Directory » Properties. A ID do locatário é exibida no campo Tenant ID.
Notas de uso¶
Em relação aos metadados:
Atenção
Os clientes devem garantir que nenhum dado pessoal (exceto para um objeto do usuário), dados sensíveis, dados controlados por exportação ou outros dados regulamentados sejam inseridos como metadados ao usar o serviço Snowflake. Para obter mais informações, consulte Campos de metadados no Snowflake.
Exemplos¶
O exemplo a seguir inicia a operação de uma integração suspensa:
ALTER STORAGE INTEGRATION myint SET ENABLED = TRUE;