Search code examples
pythonazureportalazureportal

Error 404 api azure translator basic program python


I started a translator project on azure.

I copy the simple test code.

import os, requests, uuid, json

subscription_key = 'KEY_IN_PORTAL_AZURE'
endpoint = 'URL_IN_PORTAL_AZURE'

path = '/translate?api-version=3.0'
params = '&from=fr&to=en'
constructed_url = endpoint + path + params

headers = {
    'Ocp-Apim-Subscription-Key': subscription_key,
    'Content-type': 'application/json',
    'X-ClientTraceId': str(uuid.uuid4())
}

body = [{
    'text' : 'Bonjour'
}]
request = requests.post(constructed_url, headers=headers, json=body)
response = request.json()

print(json.dumps(response, sort_keys=True, indent=4,
                 ensure_ascii=False, separators=(',', ': ')))

I change the key and the endpoint but the program return

{
    "error": {
        "code": "404",
        "message": "Resource not found"
    }
}

I delete the service and i retry same thing


Solution

  • There're 2 errors in the sample code.

    Error 1: for the endpoint, use this one instead of copying the one from azure portal:

    endpoint = 'https://api.cognitive.microsofttranslator.com/' 
    

    Error 2: in headers, please add Ocp-Apim-Subscription-Region, and it's value is the region of the Cognitive Services resource. Like below:

    'Ocp-Apim-Subscription-Region':'EastUS'
    

    You can get the region from azure portal, the screenshot is as below:

    enter image description here

    And I tested it at my side, it worked. The result as below:

    enter image description here