Para descompactar automaticamente os arquivos enviados ao Object Storage Service (OSS), implante um aplicativo com um único clique em no Application Center do Function Compute. Ao carregar um arquivo ZIP que corresponda a uma regra de descompressão no Object Storage Service, o sistema aciona automaticamente uma função do Function Compute para descompactá-lo. Após a descompressão, o Function Compute envia os arquivos extraídos para um diretório especificado no Object Storage Service.
Informações básicas
O fluxograma a seguir ilustra o processo.
Observações
Utilize a codificação UTF-8 ou GB 2312 nos nomes de arquivos e pastas para evitar caracteres ilegíveis ou interrupções durante a descompressão.
Ao carregar um arquivo compactado em um bucket, não selecione Archive Storage nem Cold Archive como classe de armazenamento. Caso contrário, o sistema não acionará a função.
Cada arquivo individual dentro do pacote compactado enviado ao bucket deve ter no máximo 1 GB. Arquivos maiores que 1 GB podem causar falha na descompressão.
O tempo máximo de descompressão para um único arquivo é de 2 horas. A tarefa falhará se exceder esse limite.
O tempo limite padrão de execução da função é de 2 horas. Ajuste esse período conforme necessário.
Pré-requisitos
Function Compute ativado. Para mais informações, consulte Ativar o Function Compute.
Object Storage Service (OSS) ativado e bucket criado. Para mais informações, consulte Criar um bucket.
Procedimento
Faça login no console do Function Compute. No painel de navegação à esquerda, clique em Applications.
-
Na página Applications, clique em Create Application. Em seguida, na página Create Application, selecione um método de criação.
Este tópico utiliza Use a Template to Create an Application como exemplo.
Na página Create Application, localize o cartão Auto-decompress ZIP Files Uploaded To OSS na seção de modelos. Passe o ponteiro do mouse sobre o cartão e clique em Create Now.
-
Na página Create Application, configure os parâmetros a seguir e clique em Create and Deploy Default Environment.
A tabela abaixo descreve os principais itens de configuração. Mantenha os valores padrão para os demais itens.
Item de Configuração
Descrição
Basic Configurations
Deployment Type
Selecione Directly Deploy.
Role Name
A função padrão é AliyunFCServerlessDevsRole. Se as permissões atuais forem insuficientes, clique em Add Policy, selecione a política necessária na caixa de diálogo e clique em Add.
Advanced Settings
RAM role ARN
Selecione a função usada pelo OSS para acionar a função do Function Compute. Verifique se as políticas de acesso AliyunOSSFullAccess e AliyunFCDefaultRolePolicy estão anexadas a essa função.
OSS bucket name
Selecione o bucket criado.
Prefix
Defina o prefixo do arquivo. O valor padrão é src.
ImportanteGaranta que os prefixos de diferentes gatilhos no mesmo bucket sejam exclusivos. Caso contrário, a criação do aplicativo falhará.
Destination directory
Defina o diretório de destino para os arquivos descompactados. O valor padrão é dst.
NotaPara evitar que a função seja acionada em loop, defina este diretório com um caminho diferente daquele especificado em Prefix.
Keep archive name as directory
Define se o nome do arquivo compactado deve ser mantido como um diretório no caminho. Valores válidos:
-
true: Cria um subdiretório. Por exemplo, se o Destination Directory for target e o arquivo compactado se chamar source.zip, os arquivos extraídos serão salvos em target/source/....
false: Descompacta os arquivos diretamente no diretório de destino. No exemplo anterior, o caminho dos arquivos descompactados será target/....
Trigger RAM role ARN
A função padrão é AliyunOSSEventNotificationRole. O OSS usa essa função para enviar notificações de eventos e invocar a função.
-
-
Teste o aplicativo.
Faça login no console do Object Storage Service (OSS) e clique em no bucket selecionado durante a criação do aplicativo.
-
No bucket selecionado, carregue um arquivo .zip em um caminho que comece com o Prefix configurado. Essa ação aciona a função para descompactar automaticamente o arquivo e salvar seu conteúdo no Destination Directory especificado.
Por exemplo, se você definir Prefix como source e Destination Directory como target, carregar um arquivo .zip em um caminho como source/data.zip ou source1/test.zip acionará a função. Os arquivos extraídos serão então salvos no diretório target.
Referências
O aplicativo de implantação com um clique em descrito neste tópico suporta apenas a descompressão de arquivos ZIP. Para descompactar arquivos em outros formatos, consulte decompress-oss.
Se precisar apenas descompactar arquivos ZIP carregados no OSS, configure a descompressão automática diretamente no OSS. Para mais informações, consulte Carregar e descompactar automaticamente um pacote ZIP.
Para usar o Function Compute para empacotar e baixar arquivos do OSS, consulte Empacotar vários arquivos em um arquivo ZIP para download.