Managed AddonsObject Storage (S3)

Object Storage (S3)

S3-kompatibler Objektspeicher für Uploads, Assets und Backups. Die Bereitstellung eines s3-Add-ons erstellt außerdem einen öffentlich lesbaren Bucket namens default, sodass Sie Dateien ohne zusätzlichen Einrichtungsaufwand bereitstellen können.

Bereitstellen

lizard add s3

Das erste S3-Add-on heißt s3, daher funktionieren ${{s3.S3_ENDPOINT}} und ähnliche sofort.

Umgebungsvariablen

VariableBeschreibung
S3_ENDPOINTS3-kompatible Endpoint-URL
S3_DEFAULT_BUCKETDer automatisch erstellte Bucket-Name (default)
S3_ACCESS_KEY_IDAccess Key
S3_SECRET_ACCESS_KEYSecret Key
S3_REGIONRegion

Einen Service verbinden

lizard secrets set \
  S3_ENDPOINT='${{s3.S3_ENDPOINT}}' \
  S3_DEFAULT_BUCKET='${{s3.S3_DEFAULT_BUCKET}}' \
  S3_ACCESS_KEY_ID='${{s3.S3_ACCESS_KEY_ID}}' \
  S3_SECRET_ACCESS_KEY='${{s3.S3_SECRET_ACCESS_KEY}}' \
  S3_REGION='${{s3.S3_REGION}}' \
  --service api
lizard redeploy --service api

Verwendung mit einem AWS SDK

Der Endpoint ist S3-kompatibel. Setzen Sie path-style-Adressierung:

import { S3Client } from "@aws-sdk/client-s3";
 
const s3 = new S3Client({
  endpoint: process.env.S3_ENDPOINT,
  region: process.env.S3_REGION,
  forcePathStyle: true, // required
  credentials: {
    accessKeyId: process.env.S3_ACCESS_KEY_ID!,
    secretAccessKey: process.env.S3_SECRET_ACCESS_KEY!,
  },
});

Öffentliche Dateien

Objekte in jedem öffentlichen Bucket werden ohne Authentifizierung auf zwei Arten bereitgestellt:

  1. Gateway-URL (im Dashboard angezeigt):
    https://s3-<region>.onlizard.com/<addonId>/<bucket>/<key>
  2. Plattform-Proxy (der Dashboard-Host, mit langlebigen unveränderlichen Cache-Headern):
    <dashboard-host>/api/s3/<addonId>/public/<bucket>/<key>

Alles, was in den Bucket default hochgeladen wird, ist sofort öffentlich verfügbar unter:

<dashboard-host>/api/s3/<addonId>/public/default/<key>

Objekte durchsuchen

Öffnen Sie den S3-Browser im Dashboard (lizard open), um Objekte und Buckets hochzuladen, herunterzuladen und zu verwalten.

Bucket-ACL-Änderungen (einen Bucket öffentlich/privat machen) sind in der CLI noch nicht verfügbar — verwalten Sie sie im Dashboard.

Speicher erweitern

lizard scale --service s3 --storage 16384

Siehe auch