【告知】値の参照時の仕様変更のお知らせ
このたび2024年11月11日に値の参照に関する仕様変更を予定しておりますので詳細について報告いたします。
more
2023.07.07に公開 | 2023.07.07に更新
Querier運営
「Querier(クエリア)」は社内向け管理画面を圧倒的な速さで、かつビジネスのスケールに合わせて柔軟に構築することができるローコードツールです。
管理画面の構築もWeb上で完結
エンジニアのためのローコードツール
今回は、Google Cloud Platformの一部である、パワフルなメッセージングサービス、Cloud Pub/Subについて説明します。
この記事では、Cloud Pub/Subの特徴、メリット、デメリット、料金、そしてPythonやNodeJSでの使い方について詳しく解説します。
Cloud Pub/Subとは、Google Cloud Platform (GCP) が提供するスケーラブルなリアルタイムメッセージングサービスです。このサービスは、大規模なデータストリームを管理して効率的に処理するために設計されています。
Cloud Pub/Subの主なメリットは以下の通りです。
一方、以下のようなデメリットも存在します。
Cloud Pub/Subの料金は基本的に以下の要素によって決定されます。
無料枠については、Cloud Pub/Subは毎月最初の10ギガバイトのデータ転送が無料で、それを超える使用に対して課金されます。また、メッセージの発行と受信については、月に最初の10億件が無料です。
料金の詳細や最新の情報については、Google Cloud Pub/Subの公式ドキュメントをご確認ください。
これにより、実際の使用状況に応じて最適なプランを選択することができます。
Cloud Pub/Subを使用するには、まずGoogle Cloud Consoleにログインし、左側のナビゲーションメニューからPub/Subを選択します。
まず、メッセージを発行するための「トピック」を作成します。トピックの作成は以下の手順で行います。
次に、作成したトピックからメッセージを受け取るための「サブスクリプション」を作成します。以下の手順でサブスクリプションを作成できます。
これで初期設定は完了です。作成したトピックにメッセージを発行すると、そのメッセージはサブスクリプションを通じて受け取ることができます。
詳細な手順や設定については、Google Cloud Pub/Subの公式ドキュメントをご確認ください。
PythonでCloud Pub/Subを使用するには、google-cloud-pubsub
ライブラリが必要です。
from google.cloud import pubsub_v1
# PublisherとSubscriberを初期化
publisher = pubsub_v1.PublisherClient()
subscriber = pubsub_v1.SubscriberClient()
# トピックとサブスクリプションを設定
topic_path = publisher.topic_path(project_id, topic_name)
subscription_path = subscriber.subscription_path(project_id, subscription_name)
# メッセージを発行
data = 'Hello, World!'
data = data.encode('utf-8')
publisher.publish(topic_path, data=data)
# メッセージを受け取る
response = subscriber.pull(subscription_path, max_messages=10)
for msg in response.received_messages:
print('Received message: {}'.format(msg.message.data))
NodeJSでCloud Pub/Subを使用するには、@google-cloud/pubsub
ライブラリが必要です。
const {PubSub} = require('@google-cloud/pubsub');
// PubSubクライアントを初期化
const pubSubClient = new PubSub();
// トピックとサブスクリプションを設定
const topicName = 'my-topic';
const subscriptionName = 'my-sub';
// メッセージを発行
const dataBuffer = Buffer.from('Hello, World!');
pubSubClient.topic(topicName).publish(dataBuffer);
// メッセージを受け取る
pubSubClient.subscription(subscriptionName).on('message', message => {
console.log(`Received message: ${message.data.toString()}`);
message.ack();
});
以下にGoでCloud Pub/Subを利用する一例を示します。
import (
"cloud.google.com/go/pubsub"
"golang.org/x/net/context"
)
func main() {
ctx := context.Background()
client, err := pubsub.NewClient(ctx, "project-id")
if err != nil {
// Handle error.
}
t := client.Topic("topic-name")
result := t.Publish(ctx, &pubsub.Message{
Data: []byte("Hello, World!"),
})
// ...
}
この記事では、Google Cloud PlatformのCloud Pub/Subについて詳しく説明しました。
Cloud Pub/Subは大規模なリアルタイムメッセージングを行うための強力なツールです。
Python、NodeJS、Goなど、多くのプログラミング言語で簡単に利用することができます。
今後は、Cloud Pub/Subを活用して更に強力なアプリケーションを構築してみてはいかがでしょうか。
Querier運営
「Querier(クエリア)」は社内向け管理画面を圧倒的な速さで、かつビジネスのスケールに合わせて柔軟に構築することができるローコードツールです。
このたび2024年11月11日に値の参照に関する仕様変更を予定しておりますので詳細について報告いたします。
more
データフローの通知設定機能・監査ログへのパラメータが追加されましたのでご紹介します。
more
データフローのアクションに永続化などに利用できるローカルストレージ機能を追加しました。
more
日本を健康に。多彩なフィットネスブランドを展開中。スタジオ付きの「JOYFIT」、24時間型の「JOYFIT24」、ヨガスタジオ「JOYFIT YOGA」、パーソナルジム「JOYFIT+」、家族向けの「FIT365」など、多彩なブランド展開で全国を席巻しているスポーツ事業。
more
管理画面の構築もWeb上で完結
エンジニアのためのローコードツール