Armazenamento de arquivos: S3 (Pro)
Introdução
Com base no plug-in de gerenciamento de arquivos, foi adicionado suporte a tipos de armazenamento de arquivos compatíveis com o protocolo S3. Qualquer serviço de armazenamento de objetos compatível com o protocolo S3 pode ser facilmente integrado, como Amazon S3, Alibaba Cloud OSS, Tencent Cloud COS, MinIO e Cloudflare R2, melhorando ainda mais a compatibilidade e a flexibilidade dos serviços de armazenamento.
Principais recursos
-
Upload pelo cliente: o processo de upload de arquivos não precisa passar pelo servidor NocoBase, conectando-se diretamente ao serviço de armazenamento de arquivos para proporcionar uma experiência de upload mais eficiente e rápida.
-
Acesso privado: ao acessar os arquivos, todas as URLs são endereços temporários autorizados e assinados, garantindo a segurança e a validade do acesso aos arquivos.
Cenários de uso
-
Gerenciamento da tabela de arquivos: gerencie e armazene centralmente todos os arquivos enviados, com suporte a vários tipos de arquivo e métodos de armazenamento, facilitando a classificação e a pesquisa de arquivos.
-
Armazenamento no campo de anexo: usado para armazenar anexos enviados em formulários ou registros, com suporte à associação a registros de dados específicos.
Configuração do plug-in
-
Ative o plug-in plugin-file-storage-s3-pro
-
Clique em "Setting-> FileManager" para acessar as configurações de gerenciamento de arquivos
-
Clique no botão "Add new" e selecione "S3 Pro"

- Após a abertura do painel flutuante, você verá que há muitos campos a serem preenchidos. Consulte a documentação a seguir para obter as informações dos parâmetros correspondentes ao serviço de arquivos e preencha o formulário corretamente.

Configuração dos provedores de serviço
Amazon S3
Criar um Bucket
-
Abra https://ap-southeast-1.console.aws.amazon.com/s3/home para acessar o console do S3
-
Clique no botão "Create bucket" à direita

- Preencha o Bucket Name (nome do bucket). Os demais campos podem permanecer com as configurações padrão. Role até a parte inferior da página e clique no botão "Create" para concluir a criação.


Configuração do CORS
- Entre na lista de buckets, localize e clique no Bucket recém-criado para acessar sua página de detalhes

- Clique na guia "Permission" e role para baixo até encontrar a seção de configuração do CORS


- Insira a configuração a seguir (você pode personalizá-la conforme necessário) e salve

Obter AccessKey e SecretAccessKey
- Clique no botão "Security credentials" no canto superior direito da página

- Role para baixo, localize a seção "Access Keys" e clique no botão "Create Access Key".

- Clique em Concordar (esta demonstração usa a conta principal; em ambientes de produção, recomenda-se usar o IAM).

- Salve o Access key e o Secret access key exibidos na página

Obtenção e configuração dos parâmetros
-
O AccessKey ID e o AccessKey Secret são os valores correspondentes obtidos na operação anterior. Preencha-os corretamente
-
Entre no painel de propriedades da página de detalhes do bucket, onde você poderá obter as informações do nome do Bucket e da Region (região).

Acesso público (opcional)
Esta configuração não é obrigatória; use-a quando precisar tornar os arquivos enviados totalmente públicos
- Entre no painel Permissions, role para baixo até Object Ownership, clique em editar e ative ACLs

- Role até Block public access, clique em editar e defina como permitir o controle por ACLs

- No NocoBase, marque Public access
Configuração de miniaturas (opcional)
Esta configuração é opcional e deve ser usada quando for necessário otimizar o tamanho ou o efeito da visualização de imagens. Observe que esse método de implantação pode gerar custos adicionais; consulte os termos relevantes da AWS para obter informações específicas sobre os custos.
-
Clique no botão
Launch in the AWS Consolena parte inferior da página para iniciar a implantação da solução.
-
Conclua a configuração seguindo as instruções. Preste atenção especial às opções a seguir:
- Ao criar a pilha, você precisará especificar o nome de um bucket do Amazon S3 que contenha as imagens de origem. Informe o nome do bucket criado anteriormente.
- Se você optar por implantar a UI de demonstração, poderá testar os recursos de processamento de imagens por meio dessa interface após a conclusão da implantação. No console do AWS CloudFormation, selecione sua pilha, acesse a guia “Saídas”, localize o valor correspondente à chave DemoUrl e clique no link para abrir a interface de demonstração.
- Esta solução usa a biblioteca
sharpNode.js para processar imagens com eficiência. Você pode baixar o código-fonte do repositório do GitHub e personalizá-lo conforme necessário.

-
Após concluir a configuração, aguarde até que o status da implantação mude para
CREATE_COMPLETE. -
Na configuração do NocoBase, observe os seguintes pontos:
Thumbnail rule: preencha os parâmetros relacionados ao processamento de imagens, como?width=100. Consulte a documentação da AWS para obter mais informações.Access endpoint: preencha com o valor de Outputs -> ApiEndpoint após a implantação.Full access URL style: marque Ignore (como o nome do bucket já foi preenchido durante a configuração, ele não será necessário no acesso).

Exemplo de configuração

Alibaba Cloud OSS
Criar um Bucket
- Abra o console do OSS em https://oss.console.aliyun.com/overview

- Clique em "Buckets" no menu à esquerda e, em seguida, clique no botão "Create Bucket" para começar a criar o bucket

-
Preencha as informações relacionadas ao bucket e, por fim, clique no botão Create
-
O Bucket Name deve ser adequado ao seu negócio; o nome fica a seu critério
-
Escolha, em Region, a região mais próxima dos seus usuários
-
Os demais campos podem permanecer com os valores padrão ou ser configurados conforme necessário
-

Configuração do CORS
- Acesse a página de detalhes do bucket criado na etapa anterior

- Clique em "Content Security -> CORS" no menu central

- Clique no botão "Create Rule", preencha as informações relevantes, role para baixo e clique em "OK". Consulte a captura de tela abaixo ou faça uma configuração mais detalhada

Obter AccessKey e SecretAccessKey
- Clique em "AccessKey" abaixo do avatar no canto superior direito

-
Para facilitar a demonstração, a criação do AccessKey usa a conta principal. Em cenários de uso em produção, recomenda-se usar o RAM para criá-lo. Consulte https://help.aliyun.com/zh/ram/user-guide/create-an-accesskey-pair-1?spm=5176.28366559.0.0.1b5c3c2fUI9Ql8#section-rjh-18m-7kp
-
Clique no botão "Create AccessKey"

- Faça a verificação da conta

- Salve o Access key e o Secret access key exibidos na página

Obtenção e configuração dos parâmetros
-
O AccessKey ID e o AccessKey Secret são os valores obtidos na operação anterior
-
Entre na página de detalhes do bucket para obter o Bucket

- Role para baixo para obter a Region (o ".aliyuncs.com" no final não é necessário)

- Obtenha o endereço do endpoint; ao preenchê-lo no NocoBase, adicione o prefixo https://

Configuração de miniaturas (opcional)
Esta configuração é opcional e deve ser usada apenas quando for necessário otimizar o tamanho ou o efeito da visualização de imagens.
-
Preencha os parâmetros relacionados a
Thumbnail rule. Consulte Parâmetros de processamento de imagens para obter detalhes sobre a configuração dos parâmetros. -
Full upload URL styleeFull access URL stylepodem ser mantidos iguais.
Exemplo de configuração

MinIO
Criar um Bucket
- Clique no menu Buckets à esquerda -> clique em Create Bucket para acessar a página de criação
- Preencha o nome do Bucket e clique no botão de salvar
Obter AccessKey e SecretAccessKey
- Acesse Access Keys -> clique no botão Create access key para acessar a página de criação

- Clique no botão de salvar

- Salve o Access Key e o Secret Key exibidos na janela pop-up para usar na configuração posterior

Configuração dos parâmetros
-
Acesse a página NocoBase -> File manager
-
Clique no botão Add new e selecione S3 Pro
-
Preencha o formulário
- O AccessKey ID e o AccessKey Secret são os textos salvos na etapa anterior
- Region: o MinIO implantado de forma privada não possui o conceito de Region; você pode configurá-lo como "auto"
- Endpoint: informe o domínio ou endereço IP do serviço implantado
- Defina Full access URL style como Path-Style
Exemplo de configuração

Tencent COS
Você pode consultar o serviço de arquivos acima para fazer a configuração; a lógica é semelhante
Exemplo de configuração

Cloudflare R2
Você pode consultar o serviço de arquivos acima para fazer a configuração; a lógica é semelhante
Exemplo de configuração

Uso pelo usuário
Consulte o uso do plug-in file-manager em https://docs.nocobase.com/data-sources/file-manager/.

