Configuration d'un bucket S3

Bonjour la Communauté,

Sur une nouvelle instance de Panoramax API je suis parvenu à uploader une image qui est donc stockée dans ~/{FS_URL}/permanent c’est top.

Maintenant j’aimerais faire en sorte que les images soient redirigées vers un bucket S3, comment dois-je paramétrer FS_PERMANENT_URL et API_PERMANENT_PICTURES_PUBLIC_URL ?

Je n’ai pas bien compris ce qui est indiqué dans :
https://docs.panoramax.fr/api/install/settings

Merci pour votre aide :folded_hands:

La doc indique que l’URL doit ressembler à quelque chose comme:

s3://mybucket/myfolder?endpoint_url=https%3A%2F%2Fs3.fr-par.scw.cloud&region=fr-par

C’est surtout le s3: en préfixe qui est important, ensuite ça dépend du endpoint du service qui est utilisé.

C’est Pyfilesystem qui est utilisé, la doc concernant le format de ces"FS_URL" est ici:

Ça peut être renseigné comme suit :

FS_PERMANENT_URL=s3://user:pass@bucket/main-pictures?endpoint_url=https%3A%2F%2Fs3.provider.net&acl=public-read
API_PERMANENT_PICTURES_PUBLIC_URL=https://myprovider.net/main-pictures

FS_DERIVATES_URL=s3://user:pass@bucket/derivates?endpoint_url=https%3A%2F%2Fs3.provider.net&acl=public-read
API_DERIVATES_PICTURES_PUBLIC_URL=https://myprovider.net/derivates

Comment déterminer le endpoint_url ?

Disons que le bucket s’appelle “my-geovisio”, qu’il y a un folder “main-pictures”, ce folder a une URI de la forme s3://my-geovisio/main-pictures/, une URL de la forme https://my-geovisio.s3.eu-west-3.amazonaws.com/main-pictures/, dans ce cas :

FS_PERMANENT_URL=s3://my-geovisio/main-pictures/?endpoint_url=https%3A%2F%2Fmy-geovisio.s3.eu-west-3.amazonaws.com%2Fmain-pictures%2F

Mais une requête POST sur http://…/api/collections/…/items renvoie un 500 Internal Server Error

J’ai aussi essayé avec &acl=public-read mais j’ai un connection refused au preflight

Le bucket n’est sûrement pas ouvert en écriture sans login/pass… ce n’est pas ça qui manque ?

Il faut voir les logs du backend (API) qui doivent sûrement contenir une erreur + stack trace de ce qui coince.

Bonjour Christian et merci pour le retour,

J’ai fini par y arriver en exploitant les logs côté serveur.

En fait il ne faut pas mettre le user:pwd dans l’URL mais configurer les variables AWS_ACCESS_KEY_ID & AWS_SECRET_ACCESS_KEY (à créer dans S3 - IAM - Security Credentials).

Bonne journée @tous !

1 Like