Я устанавливаю переменную среды GOOGLE_APPLICATION_CREDENTIALS из моего файла docker-compose.yml. Это структура моего файла docker-compose.yml:
version: "2"
services:
server:
container_name: server
environment:
- GOOGLE_APPLICATION_CREDENTIALS=/dir1/dir2/file1.json
Мой JSON-файл присутствует в указанном выше каталоге. Из моего кода Python, который также запускается как часть контейнера Docker, я использую Google Speech API следующим образом:
import io
from google.cloud import speech
from google.cloud.speech import enums
from google.cloud.speech import types
#take speech wav file and turn it into text. return text
def transcribe_file(speech_file):
"""Transcribe the given audio file."""
client = speech.SpeechClient()
Когда я выполняю выше, он выдает ошибку, что google.auth.exceptions.DefaultCredentialsError: File /dir1/dir2/file1.json was not found.
Я не могу понять, почему он не может найти JSON, когда он присутствует в правильном каталоге.