问题描述
我尝试使用boto3,但boto3重定向到了不在vocareum上的AWS主门户。 首先,它给了我无法连接到服务器的错误,现在是
ClientError: 调用ListBuckets操作时发生错误(InvalidAccessKeyId):您提供的AWS访问密钥ID在我们的记录中不存在。
解决方法
您的代码看起来不错,但是由于Vocareum(AWS Educate)发行的凭证是临时凭证,因此您还需要将aws_session_token
传递给boto3-
import boto3
import time
import urllib
import json
AWS_ACCESS_KEY_ID = 'your_aws_access_key_id'
AWS_SECRET_ACCESS_KEY = 'your_aws_secret_access_key'
AWS_SESSION_TOKEN = 'your_aws_session_token'
job_name = 'job name'
job_uri = 's3.amazonaws.com/bucket_name/file_name.mp3'
transcribe = boto3.client('transcribe',aws_access_key_id=AWS_ACCESS_KEY_ID,aws_secret_access_key=AWS_SECRET_ACCESS_KEY,aws_session_token=AWS_SESSION_TOKEN,region_name='us-east-1')
此外,您还需要在Vocareum仪表板上跟踪会话计时器,因为令牌将在会话过期时过期。您可以通过刷新Vocareum页面来刷新计时器。