Como acessar o Edge Storage usando o protocolo S3

O Edge Storage da Azion oferece compatibilidade com o protocolo S3 por meio de credenciais. Quando você cria uma credencial para qualquer bucket que você possui, você receberá uma access key e uma secret key para configurar permissões para operações. O acesso ao seu bucket por meio do protocolo S3 será verificado usando a credencial.

O protocolo S3 permite que você acesse buckets e objetos usando uma URL do Edge Storage. Esta configuração facilita operações de arquivo por meio de ferramentas de interface de linha de comando (CLI), como s3cmd, serviços de banco de dados ou funções.


Crie uma credencial via API

  1. Execute a seguinte requisição POST no seu terminal, substituindo [TOKEN VALUE] pelo seu personal token:
Terminal window
curl --location 'https://api.azion.com/v4/storage/s3-credentials' \
--header 'Accept: application/json' \
--header 'Authorization: Token [TOKEN VALUE]' \
--header 'Content-Type: application/json' \
--data '{
"name": "my-s3-credential",
"capabilities": [
"listAllBucketNames",
"listBuckets",
"listFiles",
"readFiles",
"writeFiles",
"deleteFiles"
],
"bucket": "<bucket_name>",
"expiration_date": "<datetime>"
}'
ChaveDescrição
nameDefine a string em valor como um nome da credencial
capabilitiesRecebe uma lista de capabilities para permitir a realização de operações
bucketOpcional. Restringe o uso da credencial apenas ao bucket adicionado
expiration_dateEstabelece o tempo para a expiração da credencial. O formato datetime deve estar no padrão UTC ISO 8601: YYYY-MM-DDT00:00:00Z
  1. Você deve receber uma resposta semelhante a esta:
{
"state": "executed",
"data": {
"name": "my-s3-credential",
"access_key": "<s3_credential_access_key>",
"secret_key": "<s3_credential_secret_key>", // esse valor não poderá mais ser acessado em requisições futuras
"capabilities": [
"listAllBucketNames",
"listBuckets",
"listFiles",
"readFiles",
"writeFiles",
"deleteFiles"
],
"bucket": "<bucket_name>",
"expiration_date": "<datetime>",
"created_at": "<datetime>"
}
}
  1. Copie os valores de access_key e secret_key para configurar o acesso através do protocolo S3.

Configure o acesso ao bucket através do s3cmd

s3cmd é uma ferramenta de interface de linha de comando (CLI) para gerenciar o S3 e outros serviços de armazenamento em nuvem. Pode ser usada para gerenciar objetos no Edge Storage e outros serviços de armazenamento compatíveis com S3.

Para usar o s3cmd para gerenciar seu bucket no Edge Storage, siga estes passos:

  1. Baixe e instale o pacote s3cmd através do site oficial.
  2. Certifique-se de que o s3cmd esteja adicionado ao PATH do seu sistema.
  3. Execute s3cmd --configure e insira a access key e a secret key.
  4. Insira a região padrão para a região do Edge Storage: us-east.
  5. Insira a URL do endpoint para o Edge Storage: s3.us-east-005.azionstorage.net.
  6. Use o template DNS padrão: %(bucket).s3.us-east-005.azionstorage.net.
  7. Informe uma senha de criptografia e um caminho para um programa GPG, se necessário.
  1. Ative o protocolo HTTPS digitando true.
  2. Informe servidores proxy HTTP, se necessário.
  3. Pressione y para testar o acesso.

Se suas chaves de acesso e secreta estiverem corretas, você deverá receber a seguinte mensagem de sucesso:

Terminal window
Please wait, attempting to list all buckets...
Success. Your access key and secret key worked fine :-)

Você pode salvar suas configurações em um arquivo .s3cfg se necessário e modificá-las novamente usando s3cmd --configure. Execute o comando s3cmd --help para ver todos os comandos disponíveis.


Comandos s3cmd para gerenciar objetos no Edge Storage

Depois de configurar o acesso ao bucket através do s3cmd, você pode executar operações para gerenciar seus objetos no Edge Storage usando os comandos disponíveis.

EscopoDescrição
s3cmd lsListar todos os seus buckets
s3cmd mb s3://meu-novo-nome-do-bucketCriar um novo bucket. Os nomes dos buckets devem ser únicos e as melhores práticas para nomear buckets incluem especificar que tipos de objetos estão armazenados e o tipo de permissões para os objetos
s3cmd ls s3://meu-novo-nome-do-bucketListar o conteúdo do bucket
s3cmd put file.xml s3://meu-novo-nome-do-bucket/file.xmlFazer upload de um arquivo para o bucket
s3cmd get s3://meu-novo-nome-do-bucket/file.xml file-2.xmlRecuperar o arquivo e verificar se ele não foi corrompido
s3cmd del s3://meu-novo-nome-do-bucket/addrbook.xml s3://meu-novo-nome-do-bucket/storage.jpgExcluir o objeto
s3cmd rb s3://logix.cz-testRemover o bucket. Apenas buckets vazios podem ser removidos

Para mais detalhes sobre o protocolo S3 e os comandos s3cmd, consulte a documentação oficial. Você também pode visitar a referência do Edge Storage.



Contribuidores