Configurando o armazenamento

Atualizada
Cover image for: Configurando o armazenamento

Algumas partes destas instruções, opcionalmente, usam o ricloud-py para simplificar a configuração. Para fazer isso, confira os documentos de instalação e configuração para o ricloud-py .

A configuração de armazenamento informa à API onde retornar os resultados de suas tarefas. Atualmente, suportamos os intervalos de armazenamento do Google Cloud Storage (GS) e do Amazon S3 (S3).

Configurar o armazenamento com o Google Cloud Storage

Criando um projeto do Google Cloud Platform

Se você não tiver uma conta do Google Cloud Platform (GCP), precisará se inscrever . Basta clicar em "Experimentar gratuitamente" (ou "Experimentar gratuitamente") para passar pelo processo de inscrição.

Em seguida, você precisará de um projeto para abrigar seu depósito de armazenamento. Um pode ter sido criado automaticamente na inscrição ou você pode querer um projeto novo e separado apenas para essa finalidade. Você pode encontrar instruções adicionais sobre como gerenciar projetos nos documentos do Google Cloud .

Criando um intervalo do Google Cloud Storage

Agora que o projeto do GCP está pronto, você pode seguir em frente e criar um novo intervalo de armazenamento . Recomendamos usar pelo menos a classe de armazenamento 'Regional' e a localização 'us-east1' (é onde a maioria dos nossos recursos está localizada). Para este guia, ricloud-storage nosso ricloud-storage , mas você provavelmente terá que escolher um nome diferente, pois os nomes de bucket são globalmente exclusivos em todo o serviço de host.

Criando uma conta de serviço para a API

Depois que o bucket for inicializado, você precisará criar uma conta de serviço para fornecer à API acesso a ela. Uma conta de serviço é essencialmente um usuário robótico do seu projeto, ao qual podemos conceder permissões para acessar apenas nosso novo intervalo. Siga em frente e siga as etapas descritas nos documentos do Google Cloud IAM para configurar uma conta de serviço. A escolha do nome é sua, mas neste guia vamos chamá-lo de ricloud-sa . Ignore todos os campos opcionais ao criar a conta de serviço, vamos definir as permissões em uma etapa posterior.

Se você optar por criar uma chave na etapa final do processo, mantenha-a segura, pois esse é o arquivo que forneceremos à API posteriormente. Caso contrário, crie uma chave agora seguindo estas etapas .

Definindo permissões no nível do intervalo

Volte à seção Armazenamento de seu projeto do GCP e siga as etapas descritas em "Como adicionar um membro a uma política no nível do intervalo" nos documentos do Google Cloud Storage para adicionar a conta de serviço ricloud-sa . Dê-lhe as funções 'Storage Object Creator' e 'Storage Legacy Bucket Reader'.

Criando a configuração

Neste ponto, a conta de serviço deve estar totalmente configurada e pronta para ser usada com a API.

Usando o ricloud-py para criar a configuração

Usando o ricloud-py , você pode criar um novo recurso de configuração de armazenamento com o comando:

> ricloud storage-config create --url "<storage bucket url>" --credentials-path <path to credentials file>

Em que storage bucket url no nosso caso seria gs://ricloud-storage e path to credentials file é apenas o caminho para o arquivo-chave da Conta de Serviço que criamos anteriormente.

Usando cURL para criar a configuração

curl -X POST \
  https://ricloud-api.reincubate.com/configs/storage \
  -H 'Authorization: Token <your key_token>' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "gs://ricloud-storage",
    "credentials": <all contents of the Service Account JSON key file>
}'

Configurando o armazenamento com o Amazon S3

Criando uma conta do Amazon AWS

Se você não tiver uma conta do Amazon AWS, precisará se inscrever . Clique em "Começar a usar o Amazon S3" para passar pelo processo de configuração.

Criando um depósito de armazenamento S3

Siga estas instruções dos documentos da AWS para obter uma configuração de bucket no S3. Escolha qualquer nome que você goste, para este guia nós escolheremos o ricloud-storage . Recomendamos localizá-lo em 'Leste dos EUA (N. Virginia)' para proximidade dos recursos da API.

Criando um usuário para a API

Quando o intervalo estiver pronto para uso, você precisará configurar um novo usuário com permissões limitadas para o novo intervalo a ser usado pela API. Isso é feito por meio do console do IAM por meio dessas etapas . Dê ao usuário um nome memorável, como o ricloud-user e verifique se ele está configurado para "Acesso programático".

Precisamos criar uma política personalizada, pois quando solicitado a fornecer permissões ao usuário, não existe uma política padrão que atenda às nossas necessidades. Para publicação de resultados padrão, a API requer a permissão s3:PutObject .

No editor de políticas da AWS, selecione 'Anexar políticas existentes diretamente', clique em 'Criar política' (isso deve abrir uma nova guia), selecione a guia 'JSON' (que mudará para o editor de políticas JSON) e cole o seguinte em :

{
    "Version": "2012-10-17",
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "s3:PutObject"
        ],
        "Resource": ["arn:aws:s3:::ricloud-storage/*"]
    }]
}

Certifique-se de substituir o nome do ricloud-storage por qualquer nome que você tenha nomeado anteriormente. Siga para salvar a nova política, nomeie-a como quiser.

Volte para o fluxo de criação do usuário e verifique se o usuário tem nossa nova política associada a ele.

No final do processo de criação do usuário, a interface exibirá o 'ID da chave de acesso' e a 'Chave de acesso secreto', você deve mantê-los seguros. Você também pode baixar as credenciais no formato CSV.

Criando a configuração

Neste ponto, o usuário deve estar totalmente configurado e pronto para ser usado com a API. Usando o ricloud-py , você pode criar um novo recurso de configuração de armazenamento com o comando:

> ricloud storage-config create --url "<storage bucket url>" --credentials-path <path to credentials file>

Em que storage bucket url nesse caso seria s3://ricloud-storage e path to credentials file é apenas o caminho para o arquivo CSV de credenciais exportado no final do processo de criação do usuário ou um arquivo JSON com as informações de credenciais do usuário no Formato de credenciais S3 .

A chamada cURL equivalente seria semelhante a:

curl -X POST \
  https://ricloud-api.reincubate.com/configs/storage \
  -H 'Authorization: Token <your key_token>' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "s3://ricloud-storage",
    "credentials": {
        "user_name": "ricloud-user",
        "access_key_id": "<user access key ID>",
        "secret_access_key": "<user secret access key>",
    }
}'

Como podemos ajudar?

Nossa equipe de suporte está aqui para ajudar!

Nosso horário de atendimento é de segunda a sexta, das 9h às 17h GMT. A hora é atualmente 1:14 AM GMT.

Nosso objetivo é responder a todas as mensagens dentro de um dia útil.

Nossa equipe de suporte incrível

Podemos melhorar este artigo?

Adoramos ouvir os usuários: por que não nos enviar um e-mail, deixar um comentário ou twittar? @reincubate?

© 2008 - 2024 Reincubate Ltd. Todos os direitos reservados. Registrado na Inglaterra e no País de Gales #5189175, VAT GB151788978. Reincubate® e Camo® são marcas registradas. Política de Privacidade & termos.