ID region
REGION_ID
adalah kode singkat yang ditetapkan Google berdasarkan region yang Anda pilih saat membuat aplikasi. Kode ini tidak sesuai dengan negara atau provinsi, meskipun beberapa ID region mungkin tampak mirip dengan kode negara dan provinsi yang umum digunakan. Untuk aplikasi yang dibuat setelah Februari 2020, REGION_ID.r
disertakan dalam URL App Engine. Untuk aplikasi lama yang dibuat sebelum tanggal tersebut, ID region bersifat opsional dalam URL.
Pelajari ID region lebih lanjut.
Pub/Sub menyediakan pesan yang andal, many-to-many, dan asinkron antara aplikasi. Aplikasi penayang dapat mengirim pesan ke topik, dan aplikasi lain dapat berlangganan topik tersebut untuk menerima pesan.
Dokumen ini menjelaskan cara menggunakan Library Klien Cloud untuk mengirim dan menerima pesan Pub/Sub di aplikasi App Engine.Prasyarat
- Ikuti petunjuk guna membuat aplikasi untuk runtime yang Anda pilih guna menyiapkan lingkungan dan project, serta untuk memahami cara struktur aplikasi App Engine.
- Tuliskan dan simpan project ID Anda karena Anda akan membutuhkannya untuk menjalankan contoh aplikasi yang dijelaskan dalam dokumen ini.
- Buat akun layanan dan kunci akun layanan untuk digunakan dengan aplikasi Anda.
-
Aktifkan API Google Cloud Pub/Sub.
Meng-clone aplikasi contoh
Salin aplikasi contoh ke komputer lokal Anda, lalu buka direktori
pubsub
:
Go
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
cd golang-samples/appengine/go11x/pubsub/authenicated_push
Java
Tidak ada contoh yang tersedia untuk runtime ini.
Perhatikan bahwa aplikasi demo Java 8 dan Java 11/17 tersedia di lingkungan fleksibel.
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
cd nodejs-docs-samples/appengine/pubsub
PHP
git clone https://github.com/GoogleCloudPlatform/php-docs-samples.git
cd php-docs-samples/pubsub
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/appengine/standard_python3/pubsub
Ruby
git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples
cd ruby-docs-samples/appengine/pubsub
Buat topik dan langganan
Buat topik dan langganan, termasuk menentukan endpoint yang harus dikirimi permintaan oleh server Pub/Sub:
Go
# Configure the topic gcloud pubsub topics create YOUR_TOPIC_NAME # Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10
Ganti YOUR_TOKEN
dengan token acak rahasia. Endpoint push menggunakannya untuk memverifikasi permintaan.
Untuk menggunakan Pub/Sub dengan autentikasi, buat langganan lain:
# Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-auth-service-account=YOUR-SERVICE-ACCOUNT-EMAIL\ --push-auth-token-audience=OPTIONAL_AUDIENCE_OVERRIDE\ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10 # Your Google-managed service account # `service-{PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com` needs to have the # `iam.serviceAccountTokenCreator` role. PUBSUB_SERVICE_ACCOUNT="service-${PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member="serviceAccount:${PUBSUB_SERVICE_ACCOUNT}"\ --role='roles/iam.serviceAccountTokenCreator'
Ganti YOUR-SERVICE-ACCOUNT-EMAIL
dengan email akun layanan Anda.
Java
# Configure the topic gcloud pubsub topics create YOUR_TOPIC_NAME # Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10
Ganti YOUR_TOKEN
dengan token acak rahasia. Endpoint push menggunakannya untuk memverifikasi permintaan.
Untuk menggunakan Pub/Sub dengan autentikasi, buat langganan lain:
# Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-auth-service-account=YOUR-SERVICE-ACCOUNT-EMAIL\ --push-auth-token-audience=OPTIONAL_AUDIENCE_OVERRIDE\ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10 # Your Google-managed service account # `service-{PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com` needs to have the # `iam.serviceAccountTokenCreator` role. PUBSUB_SERVICE_ACCOUNT="service-${PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member="serviceAccount:${PUBSUB_SERVICE_ACCOUNT}"\ --role='roles/iam.serviceAccountTokenCreator'
Ganti YOUR-SERVICE-ACCOUNT-EMAIL
dengan email akun layanan Anda.
Node.js
# Configure the topic gcloud pubsub topics create YOUR_TOPIC_NAME # Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10
Ganti YOUR_TOKEN
dengan token acak rahasia. Endpoint push menggunakannya untuk memverifikasi permintaan.
Untuk menggunakan Pub/Sub dengan autentikasi, buat langganan lain:
# Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-auth-service-account=YOUR-SERVICE-ACCOUNT-EMAIL\ --push-auth-token-audience=OPTIONAL_AUDIENCE_OVERRIDE\ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10 # Your Google-managed service account # `service-{PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com` needs to have the # `iam.serviceAccountTokenCreator` role. PUBSUB_SERVICE_ACCOUNT="service-${PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member="serviceAccount:${PUBSUB_SERVICE_ACCOUNT}"\ --role='roles/iam.serviceAccountTokenCreator'
Ganti YOUR-SERVICE-ACCOUNT-EMAIL
dengan email akun layanan Anda.
PHP
# Configure the topic gcloud pubsub topics create YOUR_TOPIC_NAME # Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10
Ganti YOUR_TOKEN
dengan token acak rahasia. Endpoint push menggunakannya untuk memverifikasi permintaan.
Untuk menggunakan Pub/Sub dengan autentikasi, buat langganan lain:
# Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-auth-service-account=YOUR-SERVICE-ACCOUNT-EMAIL\ --push-auth-token-audience=OPTIONAL_AUDIENCE_OVERRIDE\ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10 # Your Google-managed service account # `service-{PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com` needs to have the # `iam.serviceAccountTokenCreator` role. PUBSUB_SERVICE_ACCOUNT="service-${PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member="serviceAccount:${PUBSUB_SERVICE_ACCOUNT}"\ --role='roles/iam.serviceAccountTokenCreator'
Ganti YOUR-SERVICE-ACCOUNT-EMAIL
dengan email akun layanan Anda.
Python
# Configure the topic gcloud pubsub topics create YOUR_TOPIC_NAME # Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10
Ganti YOUR_TOKEN
dengan token acak rahasia. Endpoint push menggunakannya untuk memverifikasi permintaan.
Untuk menggunakan Pub/Sub dengan autentikasi, buat langganan lain:
# Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-auth-service-account=YOUR-SERVICE-ACCOUNT-EMAIL\ --push-auth-token-audience=OPTIONAL_AUDIENCE_OVERRIDE\ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10 # Your Google-managed service account # `service-{PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com` needs to have the # `iam.serviceAccountTokenCreator` role. PUBSUB_SERVICE_ACCOUNT="service-${PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member="serviceAccount:${PUBSUB_SERVICE_ACCOUNT}"\ --role='roles/iam.serviceAccountTokenCreator'
Ganti YOUR-SERVICE-ACCOUNT-EMAIL
dengan email akun layanan Anda.
Ruby
# Configure the topic gcloud pubsub topics create YOUR_TOPIC_NAME # Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10
Ganti YOUR_TOKEN
dengan token acak rahasia. Endpoint push menggunakannya untuk memverifikasi permintaan.
Untuk menggunakan Pub/Sub dengan autentikasi, buat langganan lain:
# Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-auth-service-account=YOUR-SERVICE-ACCOUNT-EMAIL\ --push-auth-token-audience=OPTIONAL_AUDIENCE_OVERRIDE\ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10 # Your Google-managed service account # `service-{PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com` needs to have the # `iam.serviceAccountTokenCreator` role. PUBSUB_SERVICE_ACCOUNT="service-${PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member="serviceAccount:${PUBSUB_SERVICE_ACCOUNT}"\ --role='roles/iam.serviceAccountTokenCreator'
Ganti YOUR-SERVICE-ACCOUNT-EMAIL
dengan email akun layanan Anda.
Menetapkan variabel lingkungan
Go
Edit file app.yaml
guna menetapkan variabel lingkungan untuk topik dan
token verifikasi Anda:
Java
Edit file app.yaml
guna menetapkan variabel lingkungan untuk topik dan token verifikasi Anda:
env_variables:
PUBSUB_TOPIC: <your-topic-name>
PUBSUB_VERIFICATION_TOKEN: <your-verification-token>
Node.js
Edit file app.yaml
Anda guna menetapkan variabel lingkungan untuk topik dan
token verifikasi Anda:
PHP
Edit file index.php
untuk menetapkan variabel lingkungan untuk topik dan langganan Anda:
Python
Edit file app.yaml
guna menetapkan variabel lingkungan untuk project ID,
topik, dan token verifikasi Anda:
Ruby
Edit file app.standard.yaml
guna menetapkan variabel lingkungan untuk project ID, topik, dan token verifikasi Anda:
Peninjauan kode
Aplikasi contoh menggunakan Library Klien Pub/Sub.
Go
Aplikasi contoh menggunakan variabel lingkungan yang Anda tetapkan dalam file app.yaml
(PUBSUB_TOPIC
dan PUBSUB_VERIFICATION_TOKEN
) untuk konfigurasi.
Pesan yang diterima oleh instance ini disimpan dalam slice:
messages []string
Fungsi receiveMessagesHandler
menerima pesan yang dikirim, memverifikasi token, dan menambahkan pesan ke slice messages
:
Java
Tidak ada contoh yang tersedia untuk runtime ini.
Perhatikan bahwa aplikasi demo Java 8 tersedia di lingkungan fleksibel.
Node.js
Aplikasi contoh menggunakan nilai yang Anda tetapkan dalam file app.yaml
untuk mengonfigurasi variabel lingkungan. Pengendali permintaan push menggunakan nilai ini untuk mengonfirmasi bahwa permintaan berasal dari Pub/Sub dan berasal dari sumber tepercaya:
// The following environment variables are set by the `app.yaml` file when
// running on App Engine, but will need to be manually set when running locally.
var PUBSUB_VERIFICATION_TOKEN = process.env.PUBSUB_VERIFICATION_TOKEN;
var pubsub = gcloud.pubsub({
projectId: process.env.GOOGLE_CLOUD_PROJECT
});
var topic = pubsub.topic(process.env.PUBSUB_TOPIC);
Aplikasi contoh mempertahankan daftar global untuk menyimpan pesan yang diterima oleh instance ini:
// List of all messages received by this instance
var messages = [];
Metode ini menerima pesan yang dikirim dan menambahkannya ke daftar global messages
:
Metode ini berinteraksi dengan aplikasi web App Engine untuk memublikasikan pesan baru dan menampilkan pesan yang diterima:
PHP
Aplikasi contoh menggunakan nilai yang Anda tetapkan dalam file app.yaml
untuk mengonfigurasi variabel lingkungan. Pengendali permintaan push menggunakan nilai ini untuk mengonfirmasi bahwa permintaan berasal dari Pub/Sub dan berasal dari sumber tepercaya:
Aplikasi contoh mempertahankan daftar global untuk menyimpan pesan yang diterima oleh instance ini:
$messages = [];
Metode pull
akan mengambil pesan dari topik yang Anda buat dan menambahkannya ke daftar pesan:
Metode publish
akan memublikasikan pesan baru ke topik:
Python
Aplikasi contoh menggunakan nilai yang Anda tetapkan dalam file app.yaml
untuk mengonfigurasi variabel lingkungan. Pengendali permintaan push menggunakan nilai ini untuk mengonfirmasi bahwa permintaan berasal dari Pub/Sub dan berasal dari sumber tepercaya:
app.config['PUBSUB_VERIFICATION_TOKEN'] = \
os.environ['PUBSUB_VERIFICATION_TOKEN']
app.config['PUBSUB_TOPIC'] = os.environ['PUBSUB_TOPIC']
Aplikasi contoh mempertahankan daftar global untuk menyimpan pesan yang diterima oleh instance ini:
MESSAGES = []
Metode receive_messages_handler()
menerima pesan yang dikirim dan menambahkannya ke daftar
global MESSAGES
:
Metode index()
berinteraksi dengan aplikasi web App Engine untuk memublikasikan
pesan baru dan menampilkan pesan yang diterima:
Ruby
Aplikasi contoh menggunakan nilai yang Anda tetapkan dalam file app.standard.yaml
untuk mengonfigurasi variabel lingkungan. Pengendali permintaan push menggunakan nilai ini untuk mengonfirmasi bahwa permintaan berasal dari Pub/Sub dan berasal dari sumber tepercaya:
Aplikasi contoh mempertahankan daftar global untuk menyimpan pesan yang diterima oleh instance ini:
Metode ini menerima pesan yang dikirim dan menambahkannya ke daftar
global messages
:
Metode ini berinteraksi dengan aplikasi web App Engine untuk memublikasikan pesan baru dan menampilkan pesan yang diterima:
Menjalankan contoh secara lokal
Saat berjalan secara lokal, Anda dapat menggunakan Google Cloud CLI untuk memberikan autentikasi agar dapat menggunakan Google Cloud API. Dengan asumsi Anda menyiapkan lingkungan seperti yang dijelaskan dalam Prasyarat, Anda telah menjalankan perintah gcloud init
, yang menyediakan autentikasi ini.
Go
Tetapkan variabel lingkungan sebelum memulai aplikasi Anda:
export GOOGLE_CLOUD_PROJECT=[your-project-id]
export PUBSUB_VERIFICATION_TOKEN=[your-token]
export PUBSUB_TOPIC=[your-topic]
go run pubsub.go
Java
Tetapkan variabel lingkungan sebelum memulai aplikasi Anda:
export PUBSUB_VERIFICATION_TOKEN=[your-verification-token]
export PUBSUB_TOPIC=[your-topic]
Untuk menjalankan aplikasi secara lokal, gunakan alat pengembangan yang biasanya Anda gunakan.
Node.js
Tetapkan variabel lingkungan sebelum memulai aplikasi Anda:
export GOOGLE_CLOUD_PROJECT=[your-project-id]
export PUBSUB_VERIFICATION_TOKEN=[your-verification-token]
export PUBSUB_TOPIC=[your-topic]
npm install
npm start
PHP
Instal dependensi menggunakan Composer:
composer install
Kemudian, tetapkan variabel lingkungan sebelum memulai aplikasi Anda:
export GOOGLE_CLOUD_PROJECT=[your-project-id]
export PUBSUB_VERIFICATION_TOKEN=[your-verification-token]
export PUBSUB_TOPIC=[your-topic]
php -S localhost:8080
Python
Instal dependensi, sebaiknya di lingkungan virtual.
Mac OS/Linux
- Buat
lingkungan Python yang terisolasi:
python3 -m venv env
source env/bin/activate
- Jika Anda tidak berada dalam direktori yang berisi kode contoh, buka direktori yang berisi kode contoh
hello_world
. Kemudian instal dependensi:cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
Windows
Gunakan PowerShell untuk menjalankan paket Python Anda.
- Temukan penginstalan PowerShell Anda.
- Klik kanan pintasan PowerShell dan mulai sebagai administrator.
- Buat
lingkungan Python yang terisolasi.
python -m venv env
.\env\Scripts\activate
- Buka direktori project Anda lalu instal dependensi. Jika Anda tidak berada dalam direktori yang berisi kode contoh, buka direktori yang berisi kode contoh
hello_world
. Kemudian, instal dependensi:cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
Kemudian, tetapkan variabel lingkungan sebelum memulai aplikasi Anda:
export GOOGLE_CLOUD_PROJECT=[your-project-id]
export PUBSUB_VERIFICATION_TOKEN=[your-verification-token]
export PUBSUB_TOPIC=[your-topic]
python main.py
Ruby
Instal dependensi:
bundle install
Kemudian, tetapkan variabel lingkungan sebelum memulai aplikasi Anda:
export GOOGLE_CLOUD_PROJECT=[your-project-id]
export PUBSUB_VERIFICATION_TOKEN=[your-verification-token]
export PUBSUB_TOPIC=[your-topic]
bundle exec ruby app.rb -p 8080
Menyimulasikan notifikasi push
Aplikasi dapat mengirim pesan secara lokal, tetapi tidak dapat menerima pesan push secara lokal. Namun, Anda dapat menyimulasikan pesan push dengan membuat permintaan HTTP ke endpoint notifikasi push lokal. Contoh ini menyertakan file
sample_message.json
.
Go
Anda dapat menggunakan klien curl
atau httpie
untuk mengirim permintaan POST
HTTP:
curl -H "Content-Type: application/json" -i --data @sample_message.json "localhost:8080/push-handlers/receive_messages?token=[your-token]"
Atau
http POST ":8080/push-handlers/receive_messages?token=[your-token]" < sample_message.json
Respons:
HTTP/1.1 200 OK
Date: Tue, 13 Nov 2018 16:04:18 GMT
Content-Length: 0
Setelah permintaan selesai, Anda dapat memuat ulang localhost:8080
dan melihat pesan dalam daftar pesan yang diterima.
Java
Anda dapat menggunakan klien curl
atau httpie
untuk mengirim permintaan POST
HTTP:
curl -H "Content-Type: application/json" -i --data @sample_message.json "localhost:8080/push-handlers/receive_messages?token=[your-token]"
Atau
http POST ":8080/push-handlers/receive_messages?token=[your-token]" < sample_message.json
Setelah permintaan selesai, Anda dapat memuat ulang localhost:8080
dan melihat pesan dalam daftar pesan yang diterima.
Node.js
Anda dapat menggunakan klien curl
atau httpie
untuk mengirim permintaan POST
HTTP:
curl -H "Content-Type: application/json" -i --data @sample_message.json "localhost:8080/push-handlers/receive_messages?token=[your-token]"
Atau
http POST ":8080/push-handlers/receive_messages?token=[your-token]" < sample_message.json
Respons:
HTTP/1.1 200 OK
Connection: keep-alive
Date: Mon, 31 Aug 2015 22:19:50 GMT
Transfer-Encoding: chunked
X-Powered-By: Express
Setelah permintaan selesai, Anda dapat memuat ulang localhost:8080
dan melihat pesan dalam daftar pesan yang diterima.
PHP
Anda dapat menggunakan klien curl
atau httpie
untuk mengirim permintaan POST
HTTP:
curl -i --data @sample_message.json "localhost:4567/push-handlers/receive_messages?token=[your-token]"
Atau
http POST ":4567/push-handlers/receive_messages?token=[your-token]" < sample_message.json
Setelah permintaan selesai, Anda dapat memuat ulang localhost:8080
dan melihat pesan dalam daftar pesan yang diterima.
Python
Anda dapat menggunakan klien curl
atau httpie
untuk mengirim permintaan POST
HTTP:
curl -H "Content-Type: application/json" -i --data @sample_message.json "localhost:8080/pubsub/push?token=[your-token]"
Atau
http POST ":8080/pubsub/push?token=[your-token]" < sample_message.json
Respons:
HTTP/1.0 200 OK
Content-Length: 2
Content-Type: text/html; charset=utf-8
Date: Mon, 10 Aug 2015 17:52:03 GMT
Server: Werkzeug/0.10.4 Python/2.7.10
OK
Setelah permintaan selesai, Anda dapat memuat ulang localhost:8080
dan melihat pesan dalam daftar pesan yang diterima.
Ruby
Anda dapat menggunakan klien curl
atau httpie
untuk mengirim permintaan POST
HTTP:
curl -i --data @sample_message.json "localhost:4567/push-handlers/receive_messages?token=[your-token]"
Atau
http POST ":4567/push-handlers/receive_messages?token=[your-token]" < sample_message.json
Respons:
HTTP/1.1 200 OK
Content-Type: text/html;charset=utf-8
Content-Length: 13
X-Xss-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Server: WEBrick/1.3.1 (Ruby/2.3.0/2015-12-25)
Date: Wed, 20 Apr 2016 20:56:23 GMT
Connection: Keep-Alive
Hello, World!
Setelah permintaan selesai, Anda dapat memuat ulang localhost:8080
dan melihat pesan dalam daftar pesan yang diterima.
Menjalankan di App Engine
Untuk men-deploy aplikasi demo ke App Engine menggunakan alat command line gcloud
:
Go
Jalankan perintah berikut dari direktori tempat file app.yaml
Anda berada:
gcloud app deploy
Java
Jalankan perintah gcloud
dari direktori tempat file app.yaml
Anda
berada:
gcloud app deploy
Untuk men-deploy aplikasi menggunakan Maven, jalankan perintah berikut:
mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID
Ganti PROJECT_ID dengan ID project Google Cloud Anda. Jika file pom.xml
Anda sudah menentukan project ID, Anda tidak perlu menyertakan properti -Dapp.deploy.projectId
dalam perintah yang Anda jalankan.
Node.js
Jalankan perintah berikut dari direktori tempat file app.yaml
Anda berada:
gcloud app deploy
PHP
Jalankan perintah berikut dari direktori tempat file app.yaml
Anda berada:
gcloud app deploy
Python
Jalankan perintah berikut dari direktori tempat file app.yaml
Anda berada:
gcloud app deploy
Ruby
Jalankan perintah berikut dari direktori tempat file app.yaml
Anda berada:
gcloud app deploy app.standard.yaml
Anda kini dapat mengakses aplikasi di
https://PROJECT_ID.REGION_ID.r.appspot.com
.
Anda dapat menggunakan formulir ini untuk mengirim pesan, tetapi tidak ada jaminan terkait instance mana dari aplikasi Anda yang akan menerima notifikasi tersebut. Anda dapat mengirim beberapa pesan dan memuat ulang halaman untuk melihat pesan yang diterima.