ホームページ >バックエンド開発 >PHPチュートリアル >Google Cloud Pub/Sub を使用して PHP 開発でメッセージのサブスクリプションとパブリッシュを実装する方法
Google Cloud Pub/Sub は、複数のアプリケーション間でリアルタイムの非同期データを確実に転送できるフルマネージドのメッセージング サービスです。これは、ロード バランシング、イベント ドリブン コンピューティング、ロギング、通知、分析などの多くのユース ケースに対応する、広く使用されているソリューションです。
PHP 開発では、Google Cloud Pub/Sub を使用してメッセージのサブスクリプションと公開を実装することも可能です。この記事では、PHP アプリケーションからのメッセージングに Google Cloud Pub/Sub を使用する方法について説明します。
Google Cloud Pub/Sub を使用する前に、Google Cloud Console で Google Cloud Pub/Sub API を有効にし、 Google Cloud Pub/Sub サービス アカウントを作成します。
Google Cloud Pub/Sub API を有効にする:
Google Cloud Pub/Sub サービス アカウントを作成します:
composer require google/cloud-pubsub
require_once 'vendor/autoload.php'; use GoogleCloudPubSubPubSubClient; $pubsub = new PubSubClient(); $topic = $pubsub->topic('example-topic'); $topic->publish(['data' => 'Hello, World!']);上記のコードでは、最初に「vendor/autoload.php」ファイル内のオートローダーが使用されます。次に、「GoogleCloudPubSubPubSubClient」クラスを使用して、PubSub クライアント オブジェクトをインスタンス化します。 次に、前の手順で作成したサービス アカウントの資格情報を使用して、Pub/Sub クライアント オブジェクトを承認します。クライアント オブジェクトが承認されると、それを使用してトピックやサブスクリプションを操作できるようになります。 次に、$pubsub->topic() メソッドを使用して、「example-topic」という名前のトピックへのポインターを取得する必要があります。次に、$topic->publish() メソッドを使用してメッセージをトピックにパブリッシュします。 publish() メソッドは配列パラメーターを受け取り、「data」キーを使用して公開するメッセージのコンテンツを指定します。
require_once 'vendor/autoload.php'; use GoogleCloudPubSubPubSubClient; $pubsub = new PubSubClient(); $topic = $pubsub->topic('example-topic'); $subscription = $topic->subscription('example-subscription'); if (!$subscription->exists()) { $subscription->create(); } $messages = $subscription->pull(); foreach ($messages as $message) { echo $message->data() . PHP_EOL; $subscription->acknowledge($message); }上記のコードでは、最初に「vendor/autoload .php」を使用します。 " ファイル。 次に、「GoogleCloudPubSubPubSubClient」クラスを使用して、PubSub クライアント オブジェクトをインスタンス化します。 次に、$pubsub->topic() メソッドを使用して、「example-topic」という名前のトピックへのポインターを取得します。次に、$topic->subscription() メソッドを使用して、「example-subscription」という名前のサブスクリプションへのポインターを取得します。 サブスクリプションが存在しない場合は、$subscription->create() メソッドを使用してサブスクリプションを作成します。 $subscription->pull() メソッドを使用して、サブスクリプションからメッセージをプルします。 $subscription->pull() メソッドは、返されたメッセージ オブジェクトを含む配列を返します。 メッセージを受信した場合は、メッセージ配列をループし、メッセージの内容を出力し、$subscription->acknowledge() メソッドを使用してメッセージが消費されたことを確認します。 注: pull() メソッドは、メッセージが受信されるかタイムアウトに達するまでブロックされます。新しいメッセージを待ちたい場合は、acknowledge() メソッドを使用して、受信したメッセージを確認応答します。
以上がGoogle Cloud Pub/Sub を使用して PHP 開発でメッセージのサブスクリプションとパブリッシュを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。