Download the PHP package meema/laravel-media-recognition without Composer
On this page you can find all versions of the php package meema/laravel-media-recognition. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download meema/laravel-media-recognition
More information about meema/laravel-media-recognition
Files in meema/laravel-media-recognition
Package laravel-media-recognition
Short Description Easily & quickly integrate your application with AWS Rekognition. Other drivers may be added in the near future.
License MIT
Homepage https://github.com/meemalabs/laravel-media-recognition
Informations about the package laravel-media-recognition
Media Recognition Package for Laravel
At the current state, this is a wrapper package for AWS Rekognition with some extra handy methods.
๐ก Usage
๐ Installation
You can install the package via composer:
The package will automatically register itself.
Next, publish the config file with:
Next, please add the following keys their values to your .env
file.
The following is the content of the published config file:
Preparing Your Media Model (optional)
This package includes a trait for your "Media model" that you may use to define the relationship of your media model with the tracked recognitions.
Simply use it as follows:
Set Up Webhooks (optional)
This package makes use of webhooks in order to communicate the updates of the AWS Rekognition job. Please follow the following steps to enable webhooks for yourself.
Please note, this is only optional, and you should only enable this if you want to track the Rekognition job's results for long-lasting processes (e.g. analyzing video).
Setup Expose
First, let's use Expose to "expose" / generate a URL for our local API. Follow the Expose documentation on how you can get started and generate a "live" & sharable URL for within your development environment.
It should be as simple as cd my-laravel-api && expose
.
Setup AWS SNS Topic & Subscription
Second, let's create an AWS SNS Topic which will notify our "exposed" API endpoint:
- Open the Amazon SNS console at https://console.aws.amazon.com/sns/v3/home
- In the navigation pane, choose Topics, and then choose "Create new topic".
- For Topic name, enter
RekognitionUpdate
, and then choose "Create topic".
- Copy & note down the topic ARN which you just created. It should look similar to this:
arn:aws:sns:region:123456789012:RekognitionUpdate
. - On the Topic details:
RekognitionUpdate
page, in the Subscriptions section, choose "Create subscription". - For Protocol, choose "HTTPS". For Endpoint, enter exposed API URL that you generated in a previous step, including the API URI.
For example,
- Choose "Create subscription".
Confirming Your Subscription
Finally, we need to ensure the subscription is confirmed. By navigating to the RekognitionUpdate
Topic page, you should see the following section:
By default, AWS will have sent a post request to URL you defined in your "Subscription" setup. This package automatically handles the "confirmation" part. In case there is an issue and it is not confirmed yet, please click on the "Request confirmation" button as seen in the screenshot above.
You can also view the request in the Expose interface, by visiting the "Dashboard Url", which should be similar to: http://127.0.0.1:4040
Once the status reflects "Confirmed", your API will receive webhooks as AWS provides updates.
Deploying to Laravel Vapor
Please note, as of right now, you cannot reuse the AWS credentials stored in your "environment file". The "workaround" for this is to adjust the media-recognition.php
-config file by renaming
From: AWS_ACCESS_KEY_ID
- To: e.g. VAPOR_ACCESS_KEY_ID
From: AWS_SECRET_ACCESS_KEY
- To: e.g. VAPOR_SECRET_ACCESS_KEY
and, lastly, please ensure that your Vapor environment has these values defined.
๐งช Testing
๐ Changelog
Please see our releases page for more information on what has changed recently.
๐ช๐ผ Contributing
Please see CONTRIBUTING for details.
๐ Community
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
For casual chit-chat with others using this package:
๐จ Security
Please review our security policy on how to report security vulnerabilities.
๐๐ผ Credits
- Chris Breuer
- Folks at Meema
- All Contributors
๐ License
The MIT License (MIT). Please see LICENSE for more information.
Made with โค๏ธ by Meema, Inc.
All versions of laravel-media-recognition with dependencies
ext-json Version *
aws/aws-php-sns-message-validator Version ^1.6
aws/aws-sdk-php Version ^3.163