Python ServiceUnavailable:在尝试识别音频时,503未能连接到所有地址
我正在尝试运行以下代码来识别音频文件。该代码只是从不同的官方示例编译而来。但它不起作用Python ServiceUnavailable:在尝试识别音频时,503未能连接到所有地址,python,google-cloud-platform,google-speech-api,Python,Google Cloud Platform,Google Speech Api,我正在尝试运行以下代码来识别音频文件。该代码只是从不同的官方示例编译而来。但它不起作用 import os from google.cloud import speech from google.cloud.speech import enums from google.cloud.speech import types from google.oauth2 import service_account import io def transcribe_file(speech_file):
import os
from google.cloud import speech
from google.cloud.speech import enums
from google.cloud.speech import types
from google.oauth2 import service_account
import io
def transcribe_file(speech_file):
client = speech.SpeechClient(credentials=credentials)
with io.open(speech_file, 'rb') as audio_file:
content = audio_file.read()
audio = types.RecognitionAudio(content=content)
config = types.RecognitionConfig(
encoding=enums.RecognitionConfig.AudioEncoding.LINEAR16,
sample_rate_hertz=16000,
language_code='ru-RU')
response = client.long_running_recognize(config, audio)
for result in response.results:
print(u'Transcript: {}'.format(result.alternatives[0].transcript))
audio_folder_path = 'data_wav'
all_audios = os.listdir(audio_folder_path)
file_name = os.path.join(audio_folder_path, all_audios[0])
credentials = service_account.Credentials.from_service_account_file("google_aut.json")
transcribe_file(file_name)
我使用Anaconda4.7.12作为Windows10下的Python3.7、GoogleCloudSpeechv1.2.0、GoogleAuthv1.6.3
我每次遇到的错误是
_会合追踪(最近一次呼叫最后一次)
~\AppData\Local\Continuum\anaconda3\lib\site packages\google\api\u core\grpc\u helpers.py
错误时\u重新映射\u可调用(*args,**kwargs)
56尝试:
--->57返回可调用函数(*args,**kwargs)
58除grpc.RpcError作为exc外:
~\AppData\Local\Continuum\anaconda3\lib\site packages\grpc\u channel.py
在调用中(self、请求、超时、元数据、凭据、,
等待\u,等待\u准备就绪,压缩)
564等待(准备就绪,压缩)
-->565返回\u结束\u一元\u响应\u阻塞(状态、调用、错误、无)
566
~\AppData\Local\Continuum\anaconda3\lib\site packages\grpc\u channel.py
一元响应阻塞(状态、呼叫、带呼叫、截止日期)
466其他:
-->467上升集合点(状态,无,无,截止日期)
468
_会合地点:
上述异常是以下异常的直接原因:
ServiceUnavailable回溯(最近的呼叫
最后)在
---->1转录文件(文件名)
在转录文件(语音文件)中
20
21#[启动语音(python)迁移(同步)响应]
--->22响应=客户端。长时间运行\u识别(配置,音频)
23#[结束讲话_python _迁移_同步_请求]
24#每个结果用于音频的连续部分。反复浏览
~\AppData\Local\Continuum\anaconda3\lib\site packages\google\cloud\speech\u v1\gapic\speech\u client.py
在长时间运行中,识别(自我、配置、音频、重试、超时、,
元数据)
339 )
340 operation=self.\u internal\u api\u调用[“long\u running\u recognize”](
-->341请求,重试=重试,超时=超时,元数据=元数据
342 )
343返回google.api_core.operation.from_gapic(
~\AppData\Local\Continuum\anaconda3\lib\site packages\google\api\u core\gapic\u v1\method.py
在通话中(self,*args,**kwargs)
141 kwargs[“元数据”]=元数据
142
-->143返回函数(*args,**kwargs)
144
145
~\AppData\Local\Continuum\anaconda3\lib\site packages\google\api\u core\retry.py
在重试函数中(*args,**kwargs)
271睡眠发生器,
272赛尔夫大学截止日期,
-->273 on_错误=on_错误,
274 )
275
~\AppData\Local\Continuum\anaconda3\lib\site packages\google\api\u core\retry.py
在重试\u目标(目标、谓词、睡眠\u生成器、截止日期、,
关于(U错误)
180用于睡眠发生器中的睡眠:
181试试看:
-->182返回目标()
183
184#pylint:disable=broad except
~\AppData\Local\Continuum\anaconda3\lib\site packages\google\api\u core\timeout.py
在具有超时的函数中(*args,**kwargs)
212“添加超时的包装函数”
213 kwargs[“超时”]=下一个(超时)
-->214返回函数(*args,**kwargs)
215
216带超时的返回函数
~\AppData\Local\Continuum\anaconda3\lib\site packages\google\api\u core\grpc\u helpers.py
错误时\u重新映射\u可调用(*args,**kwargs)
57返回可调用函数(*args,**kwargs)
58除grpc.RpcError作为exc外:
--->59六、从(例外情况。从grpc错误(exc),exc)
60
61返回错误\u重新映射\u可调用
中的~\AppData\Local\Continuum\anaconda3\lib\site packages\six.py
从(值,从值)提高
ServiceUnavailable:503无法连接到所有地址
如何修复它?这可能由于凭据问题而失败。让我们尝试几件事:
- 确保您的服务帐户密钥正确无误,您应该具有以下内容: 从google.oauth2导入服务_帐户 凭据=服务\帐户。凭据。来自服务帐户文件('service\u account\u key.json') SpeechClient(凭证=凭证) 或 SpeechClient(凭证=凭证)
- 使用范围: 凭据=服务\u帐户.credentials.from\u服务\u帐户\u文件( 证书(u json),, 作用域=['']) 更多信息
- 在本例中,通过使用会话客户机对象的单个实例来解决多个请求
- 正如达斯汀所说,这可能是一个网络问题。更多信息请点击这里
如果您设法解决了此错误,请告知我们。您能否提供有关您的网络的任何详细信息,例如可能导致问题的代理?也许有防火墙?此错误表明某些网络连接可能被阻止。您好,由于此问题很久以前就被打开了,我想知道您是否解决了此问题。此后,API使用的语法和模块发生了变化,您需要更新代码。我已经能够在稍微修改后运行这段代码,并且没有出现ServiceUnavailable异常。你能告诉我你是否仍然遇到这个问题吗?我有同样的问题,但我只是偶尔得到503。很奇怪。关于托尼的回答:防火墙已经调整,应该会引起问题。此外,对于多个请求,我只使用会话客户端的一个实例。