Prasyarat
- Selesaikan semua langkah yang diperlukan di panduan memulai sebelum memulai.
- Men-deploy API.
Ringkasan
Anda dapat membuat kueri API menggunakan metode yang sama, terlepas dari metode penginstalan yang Anda gunakan. Cara Anda membuat kueri API bergantung pada apakah Anda telah mengonfigurasi endpoint publik atau belum. Jika endpoint Anda tidak bersifat publik, Anda harus menentukan cara mengekspos API sendiri. Ada banyak opsi untuk melakukannya, termasuk membuat Ingress jika cluster Anda mendukungnya, menayangkan layanan yang dibuat, menjalankan Istio, dan sebagainya.
Langkah-langkah yang diuraikan di bawah ini akan memandu Anda membuat kueri endpoint. Ada dua metode: .
- Buat kueri endpoint dari dalam cluster Anda (tidak ada IP publik yang diperlukan).
- Membuat kueri IP publik.
Mengkueri nama DNS internal (tidak ada IP publik yang diperlukan)
Contoh ini menjalankan kueri dari dalam cluster menggunakan nama Domain Name Service (DNS) yang ditetapkan ke layanan: $NAME.$NAMESPACE
, seperti speech.speech.
Anda dapat menetapkan variabel lingkungan atau menggantinya dengan nilai aktual
dalam perintah.
Buat tugas baru dalam cluster untuk membuat kueri API. Jika tugas ini sudah ada di cluster, Anda harus menghapusnya terlebih dahulu.
kubectl delete jobs.batch -n $NAMESPACE query-api echo "apiVersion: batch/v1 kind: Job metadata: name: query-api namespace: $NAMESPACE spec: template: metadata: annotations: sidecar.istio.io/inject: 'false' labels: app: query spec: containers: - name: entrypoint image: gcr.io/cloud-marketplace/speech-onprem/speech-to-text-on-prem:$VERSION command: ["/bin/sh", "-c"] args: - curl https://raw.githubusercontent.com/GoogleCloudPlatform/python-docs-samples/master/speech/snippets/resources/commercial_mono.wav --output /tmp/audio.wav; /bin/onprem_client --address=$NAME.$NAMESPACE:443 --file_paths /tmp/audio.wav restartPolicy: Never " | kubectl apply -f -
Periksa log untuk melihat transkripnya:
kubectl logs -n $NAMESPACE --follow $(kubectl get po -n $NAMESPACE -l app=query -o=jsonpath='{.items[0].metadata.name}') -c entrypoint
Membuat kueri IP publik
Jika Anda menginstal Istio di cluster Anda, pastikan Anda memiliki Istio Ingress Gateway yang berjalan dengan IP publik. Jika belum menginstal Istio, Anda dapat menetapkan nilai untuk $PUBLIC_IP
. Setelah selesai, Anda dapat mengirimkan kueri
transkripsi ke endpoint publik.
Jika Anda telah menginstal Istio, ikuti petunjuknya untuk mendapatkan IP publik Ingress dan menyetelnya ke
PUBLIC_IP
.Jika Anda belum menginstal Istio, validasi bahwa alamat IP terikat. IP tersebut akan muncul di bagian
EXTERNAL-IP
di bawah. Jika tidak muncul setelah beberapa menit, buka cluster di konsol untuk pemecahan masalah.kubectl get service $NAME --namespace $NAMESPACE
Salin biner
onprem_client
dari image docker:kubectl cp -n $NAMESPACE $(kubectl get pod -n $NAMESPACE -l app.kubernetes.io/name=$NAME -o=jsonpath='{.items[0].metadata.name}' ):/bin/onprem_client ./onprem_client kubectl cp -n $NAMESPACE $(kubectl get pod -n $NAMESPACE -l app.kubernetes.io/name=$NAME -o=jsonpath='{.items[0].metadata.name}' ):/usr/grte.tar ./grte.tar sudo tar -xvf grte.tar -C / chmod a+x ./onprem_client
Gunakan biner
onprem_client
untuk mengirimkan kueri:./onprem_client --address ${PUBLIC_IP}:443 --file_paths /path/to/audio.wav
Langkah berikutnya
Pelajari cara mengirim permintaan transkripsi ke Speech-to-Text On-Prem API.