Skip to main content

Ferramentas Compatíveis S3

Tabela de compatibilidade

RecursoFuncionalidadeMGC CLIAWS CLIRClone
BucketCriar
Listar
Deletar
Conversão (público e privado)
Permissividade✅ ➀✅ ➀✅ ➀
URL pública
Versionamento
ObjectUpload
Download
Deletar
Conversão (público e privado)
Permissividade
URL pública
URL Presigned
Versionamento✅ ➁
CategoraFuncionalidadeLimitação
BucketPermissividadeA primeira permissão deve ser dada no portal. Após isso o gerencimento poderá ocorrer por CLI usando tenant ID ( UUID ).
ObjectVersionamentoRClone não suporta download e exclusão de versões de objeto.

Para maiores informações sobre as limitações clique aqui

FiguraLegenda
Suportado
Não suportado

Configurações de ferramentas

AWS-CLI

  1. Instalar o AWS-CLI seguindo as orientações da AWS.
  2. Configurar a API Key na AWS-CLI.
    1. Para isso execute o seguinte comando:
    aws configure
    1. Preencha os campos com suas informações:
    AWS Access Key ID [None]: <ID>
    AWS Secret Access Key [None]: <Secret>
    Default region name [None]: <Region>
    Default output format [None]:<Enter>
    • Onde for <ID> e <Secret> fornecer as informações da API Key gerada.
    • Onde for <Region>, informar a região (br-ne1 ou br-se1)
  3. Ajustar o endpoint url. Infelizmente, o aws config pergunta qual é o endpoint que deve ser usado , e isso deve ser feito manualmente:
    1. Com seu editor de preferência, abra o arquivo ~/.aws/config
    2. Nele, haverá uma seção [default], com a região informada, por exemplo:
    [default]
    region = br-se1
    1. Informe o endpoint_url para a região escolhida, de acordo com a tabela abaixo. Por exemplo:
    [default]
    region = br-se1
    endpoint_url = https://br-se1.magaluobjects.com/
    1. Salve o arquivo e verifique o funcionamento
RegiãoURL para substituir no <Region>
Brasil - Sudeste 1 (br-se1)https://br-se1.magaluobjects.com
Brasil - Nordeste 1 (br-ne1)https://br-ne1.magaluobjects.com

RClone

  1. Instalar o Rclone seguindo as orientações do mesmo.
  2. Configurar a API Key no Rclone.
    1. Para isso execute o seguinte comando:
    rclone config
    1. Preencha os campos com suas informações, criando um remote:
    Current Remotes: <n>
    Enter name for new remote: <RemoteName>
    Type of storage configure: <s3>
    Choose your S3 provider: <Magalu>
    Option env_auth: <false>
    access_key_id: <ID>
    secret_access_key: <Secret>
    endpoint: <1 or 2>
    endpoint: <Enter>
    Option location_constrain: <Enter>
    Option ACL: <Enter>
    Edit advanced config: <n>
    Configuration Complete: <Enter>

Onde for <ID> e <Secret> fornecer as informações da API Key gerada.

Compatibilidade de SDKs

O bucket da Magalu cloud é compatível com SDKs utilizados para gerenciamento de buckets que usam o protocolo S3, o mesmo vale para o AWS-CLI. Desta forma fica muito mais fácil ser feita a migração para a Cloud da Magalu. A seguir mostraremos um exemplo de uso com o SDK Boto3 usado na linguagem Python.

import boto3

endpoint_url = "<Region URL>" #
aws_access_key_id = '<Magalu API-Key>'
aws_secret_access_key = '<Magalu API-Secret>'
bucket_name = 'nome-do-bucket'

client = boto3.client('s3',
endpoint_url=endpoint_url,
aws_access_key_id=aws_access_key_id,
aws_secret_access_key=aws_secret_access_key)

def list_buckets():
response = client.list_buckets()
buckets = [bucket['Name'] for bucket in response['Buckets']]
print("Listing buckets...")
for bucket in buckets:
print(bucket)


def create_bucket():
print("Creating bucket {bucket_name}...")
client.create_bucket(Bucket=bucket_name)


def upload_file():
print("Uploading file...")
local_file_path = 'C:/PATH/EXAMPLE/Roadmap.html'
s3_file_key = 'example'
client.upload_file(local_file_path, bucket_name, s3_file_key)