mage-os / mageos-async-events-gcp
GCP event sinks for mage-os/mageos-async-events
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 10
Forks: 0
Open Issues: 0
Type:magento2-module
Requires
- php: >=8.1
- google/cloud-pubsub: ^2.0
- mage-os/mageos-async-events: ^4.0
This package is auto-updated.
Last update: 2024-12-14 12:12:12 UTC
README
GCP event sinks for mageos-async-events
Installation
composer require mage-os/mageos-async-events-gcp
Authenticating with Google Cloud Client Libraries
This module relies on Google's PHP Cloud Client Libraries. Each event sink uses a corresponding library to perform requests to Google Cloud.
For more information about the client libraries, please see https://cloud.google.com/php/docs/reference
As per the Authentication Guide, the recommended way to authenticate to the Google Cloud PHP library is to use Application Default Credentials (ADC), which discovers your credentials automatically, based on the environment where your code is running.
Application Default Credentials (ADC) typically come in the form of a credential JSON file. This file can include credentials for workload identity federation, workforce identity federation, or a service account key.
There are many ways to obtain an ADC, so you must review and choose a method that fits your use case.
Important
Service account keys can pose a security risk if not managed correctly. Whenever possible, opt for a more secure alternative to service account keys.
To authenticate using different methods, refer to the following guides:
- Service Account Key: Service account key authentication
- Workload Identity Federation: Workload Identity Federation authentication
- Google Cloud Services: If your code is running on a supported Google Cloud service such as Compute Engine, you can authenticate by attaching a service account. Read more about Google Cloud services that support attaching a service account
- GKE or GKE Enterprise: Containerized authentication
GCP event sinks
Google Pub/Sub
Setup Application Default Credentials (ADC)
A Service Account with the Pub/Sub Publisher
role is required so that the notifier can relay events into Google
Pub/Sub.
Under Stores -> Services -> Async Events GCP
set the ADC Path
.
Create a Pub/Sub Subscription
The following is an example to create a Pub/Sub subscription for the example.event
curl --location --request POST 'https://test.mageos.dev/rest/V1/async_event' \ --header 'Authorization: Bearer TOKEN' \ --header 'Content-Type: application/json' \ --data-raw '{ "asyncEvent": { "event_name": "example.event", "recipient_url": "Google Pub/Sub Topic", "verification_token": "supersecret", "metadata": "pubsub" } }'