arquivei / download-manager
Arquivei Download Manager
Installs: 456
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 17
Forks: 1
Open Issues: 2
Type:project
Requires
- php: ^7.1.3
- google/cloud-storage: ^1.10
- guzzlehttp/guzzle: ^6.0
- laravel-zero/foundation: 5.8.0
This package is auto-updated.
Last update: 2024-12-19 23:06:22 UTC
README
Essa biblioteca é responsável por receber informações do google storage (bucket, path e storage path) e realizar o download do objeto por meio de um link gerado publicamente, que expira após uma quantidade de tempo configurável, permitindo que o cliente execute o download diretamente do storage e de modo seguro.
Instalação
Você pode adicionar a biblioteca ao seu projeto via composer, com o comando:
composer require arquivei/download-manager
Configurações
Para que a conexão ao Google Storage seja possível seu projeto deve possuir as seguintes variáveis de ambiente:
GOOGLE_CLOUD_PROJECT_ID= GOOGLE_CLOUD_KEY_FILE=
GOOGLE_CLOUD_PROJECT_ID
representa o projeto do GCS que conterá o objeto a ser baixado
GOOGLE_CLOUD_KEY_FILE
representa o path do arquivo de configuração para autenticação ao google apis
Utilização
O downloader é extremamente simples de ser instanciado e executado. Segue exemplo de como realizar o download de um objeto:
$bucket = 'my-bucket'; $basePath = 'files'; $storagePath = 'my-company/my-file.xml'; $downloader = new \Arquivei\DownloadManager\Download\Downloader(); $downloader->download($bucket, $basePath, $storagePath);
Caso você queira obter apenas o link de download, ao invés de realizar o download do objeto diretamente, basta assinar o objeto e ter o link publico como retorno:
$bucket = 'my-bucket'; $basePath = 'files'; $storagePath = 'my-company/my-file.xml'; $expireSeconds = 60; $downloader = new \Arquivei\DownloadManager\Download\Downloader(); $signedUrl = $downloader->signObject($bucket, $basePath, $storagePath, $expireSeconds);