如何在不通过终端的情况下传递我的订阅密钥?

时间:2017-10-03 04:15:55

标签: python microsoft-cognitive azure-cognitive-services

所以在python sdk上使用Microsoft认知在CreateProfile.py上进行说话人识别我在变量subscritionKey下设置了我的订阅密钥(注意:在此示例中设置为变量的值不是&#39 ; t我的实际产品密钥)但是当我将它放入函数create_profile的其中一个参数时,我得到了错误......

Exception: Error creating profile: {"error":{"code":"Unspecified","message":"Access denied due to invalid subscription key. Make sure you are subscribed to an API you are trying to call and provide the right key."}}

我是否可以通过我的subscritionKey而不必每次都通过终端输入它?

import IdentificationServiceHttpClientHelper
import sys

subscritionKey = "j23h4i32h4iu3324iu234h233b43"

def create_profile(subscription_key, locale):
    """Creates a profile on the server.
    Arguments:
    subscription_key -- the subscription key string
    locale -- the locale string
    """
    helper = IdentificationServiceHttpClientHelper.IdentificationServiceHttpClientHelper(
        subscription_key)

    creation_response = helper.create_profile(locale)

    print('Profile ID = {0}'.format(creation_response.get_profile_id()))

if __name__ == "__main__":
    if len(sys.argv) < 2:
        print('Usage: python CreateProfile.py <subscription_key>')
        print('\t<subscription_key> is the subscription key for the service')
        #sys.exit('Error: Incorrect Usage.')

    create_profile(subscritionKey, 'en-us')

我的猜测是我遇到了问题,因为我将其作为字符串传递:/

1 个答案:

答案 0 :(得分:1)

你的问题基本上就是如何使用SDK,对吗?

以下代码适用于我:在名为main.py的文件中,该文件位于文件夹Identification之外的一个级别:

import sys
sys.path.append('./Identification')
from CreateProfile import create_profile

subscriptionKey = "<YOUR-KEY>"

create_profile(subscriptionKey, "en-us")

运行python main.py(使用Python 3),该代码返回

Profile ID = cf04bf79-xxxx-xxxxx-xxxx