Servicio seguro de almacenamiento de objetos
Files ofrece una API REST para buckets y para subir, descargar, listar, consultar metadatos y eliminar archivos.
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.
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"}// Go 1.21+, standard library only. Save as main.go and run: go run main.go
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(resp.Status)
fmt.Println(string(responseBody))
}
<?php
// PHP 8+ with the curl extension. Save as example.php and run: php example.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));
}
echo curl_getinfo($ch, CURLINFO_RESPONSE_CODE), "\n", $response, "\n";
curl_close($ch);
# Python 3.8+. Install: pip install requests. Save as example.py and run: python example.py
import requests
headers = {
"X-Glue-Authentication": "{\"user\":{\"id\":\"user-123\"}}",
}
payload = {"description": "Uploads for my app", "name": "my-bucket"}
response = requests.request(
"POST",
"https://files.hola.cloud/v1/buckets",
headers=headers,
json=payload
)
print(response.status_code)
print(response.text)
// Node.js 18+. Save as example.mjs and run: node example.mjs
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(response.status);
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)
});
console.log(response.status);
console.log(await response.text());
// Java 17+, standard library only. Save as Main.java and run: java Main.java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
var body = """
{"name":"my-bucket","description":"Uploads for my app"}
""";
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.statusCode());
System.out.println(response.body());
}
}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