📁 Files

Servicio seguro de almacenamiento de objetos

Files ofrece una API REST para buckets y para subir, descargar, listar, consultar metadatos y eliminar archivos.

Files

Funcionalidades

Organiza archivos en buckets y accede a ellos mediante endpoints HTTP simples.

API de buckets

Crea, lista, consulta y elimina buckets con nombre y descripción.

Operaciones de archivos

Sube, descarga, lista, inspecciona y elimina archivos dentro de buckets.

Metadatos almacenados

La API devuelve tamaño, tipo MIME, timestamps y hashes de contenido.

Quick start

Inicio rápido

Empieza con Files en segundos usando la API.

curl -X POST https://files.hola.cloud/v1/buckets \
  -H 'X-Glue-Authentication: {"user":{"id":"user-123"}}' \
  -d '{"name":"my-bucket","description":"Uploads for my app"}'
POST /v1/buckets HTTP/1.1
Host: files.hola.cloud
X-Glue-Authentication: {"user":{"id":"user-123"}}

{"name":"my-bucket","description":"Uploads for my app"}
package main

import (
	"fmt"
	"io"
	"net/http"
	"encoding/json"
	"strings"
)

func main() {
	payload := map[string]any{"description": "Uploads for my app", "name": "my-bucket"}
	bodyBytes, err := json.Marshal(payload)
	if err != nil {
		panic(err)
	}
	body := string(bodyBytes)

	req, err := http.NewRequest("POST", "https://files.hola.cloud/v1/buckets", strings.NewReader(body))
	if err != nil {
		panic(err)
	}
	req.Header.Set("X-Glue-Authentication", "{\"user\":{\"id\":\"user-123\"}}")

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()

	responseBody, err := io.ReadAll(resp.Body)
	if err != nil {
		panic(err)
	}
	fmt.Println(string(responseBody))
}
<?php
$payload = ['description' => 'Uploads for my app', 'name' => 'my-bucket'];
$body = json_encode($payload);

$ch = curl_init();

curl_setopt_array($ch, [
    CURLOPT_URL => 'https://files.hola.cloud/v1/buckets',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => $body,
    CURLOPT_HTTPHEADER => [
        'X-Glue-Authentication: {"user":{"id":"user-123"}}',
    ],
]);

$response = curl_exec($ch);
if ($response === false) {
    throw new Exception(curl_error($ch));
}
curl_close($ch);

echo $response;
import requests

import json

headers = {
    "X-Glue-Authentication": "{\"user\":{\"id\":\"user-123\"}}",
}

payload = {"description": "Uploads for my app", "name": "my-bucket"}
body = json.dumps(payload)

response = requests.request(
    "POST",
    "https://files.hola.cloud/v1/buckets",
    headers=headers,
    data=body
)

print(response.text)
const payload = {"description": "Uploads for my app", "name": "my-bucket"};

const response = await fetch("https://files.hola.cloud/v1/buckets", {
  method: "POST",
  headers: {
    "X-Glue-Authentication": "{\"user\":{\"id\":\"user-123\"}}"
  },
  body: JSON.stringify(payload)
});

console.log(await response.text());
const payload = {"description": "Uploads for my app", "name": "my-bucket"};

const response = await fetch("https://files.hola.cloud/v1/buckets", {
  method: "POST",
  headers: {
    "X-Glue-Authentication": "{\"user\":{\"id\":\"user-123\"}}"
  },
  body: JSON.stringify(payload)
});

const text = await response.text();
console.log(text);
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;
import java.util.List;

public class Main {
    public static void main(String[] args) throws Exception {
        var payload = Map.of("description", "Uploads for my app", "name", "my-bucket");
        var body = new ObjectMapper().writeValueAsString(payload);

        var request = HttpRequest.newBuilder()
            .uri(URI.create("https://files.hola.cloud/v1/buckets"))
            .method("POST", HttpRequest.BodyPublishers.ofString(body))
            .header("X-Glue-Authentication", "{\"user\":{\"id\":\"user-123\"}}")
            .build();

        var response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
    }
}
Use cases

Casos de uso

Orquestación de microservicios

Build and deploy with Files on HolaCloud's enterprise platform, designed for security, reliability, and scale.

Automatización de pipelines

Build and deploy with Files on HolaCloud's enterprise platform, designed for security, reliability, and scale.

Arquitecturas basadas en eventos

Build and deploy with Files on HolaCloud's enterprise platform, designed for security, reliability, and scale.

Desarrollo de APIs backend

Build and deploy with Files on HolaCloud's enterprise platform, designed for security, reliability, and scale.

Ready to get started?

Explore the documentation or launch the console to start building with Files.

Comentarios

Deja un comentario