DEV Community

loading...

Configure Alibaba Cloud OSS On Laravel Filesystem

Saiks
・1 min read

Object Storage Service (OSS) is an object storage service by Alibaba Cloud (Aliyun/Ali Cloud), much similar to Amazon Simple Storage Service (Amazon S3). Flysystem integration in Laravel allows easy use of local filesystems, Amazon S3, and Rackspace Cloud Storage.

Although Laravel Docs doesn't mention of Alibaba Cloud OSS, OSS compatibility with S3 API allows you to access it using the same API, without using any additional package or SDK. For information regarding S3 to OSS data migration, and compatible S3 APIs, refer to their documentation.

Laravel Configuration

To use OSS on Laravel, add the following into the disks array in your config/filesystems.php:

        'oss' => [
            'driver' => 's3',
            'key' => env('OSS_ACCESS_KEY_ID'),
            'secret' => env('OSS_SECRET_ACCESS_KEY'),
            'region' => env('OSS_REGION'),
            'bucket' => env('OSS_BUCKET'),
            'endpoint' => env('OSS_ENDPOINT'),
            'url' => env('OSS_URL'),
            'visibility' => 'public', // Default visibility
        ],

Add your Access Key and bucket details for OSS in your .env:

OSS_ACCESS_KEY_ID=EXAMPLE
OSS_SECRET_ACCESS_KEY=Example123
OSS_REGION=oss-ap-southeast-3
OSS_BUCKET=examplebucket
OSS_ENDPOINT=https://oss-ap-southeast-3.aliyuncs.com
OSS_URL=https://oss.example.com

Simple as that! To make OSS your default filesystem disk, set FILESYSTEM_DRIVER and FILESYSTEM_CLOUD to oss in .env. You may also bind your own domain to the bucket to access objects through the domain URL.

Discussion (0)