Snabbstart: Hämta bildinsikter med hjälp av REST API för visuell sökning i Bing och Python
Varning
Den 30 oktober 2020 flyttades Bing-sökning-API:erna från Azure AI-tjänster till Bing-sökning Services. Den här dokumentationen tillhandahålls endast som referens. Uppdaterad dokumentation finns i dokumentationen för API:et för Bing-sökning. Anvisningar om hur du skapar nya Azure-resurser för Bing-sökning finns i Skapa en Bing-sökning resurs via Azure Marketplace.
Använd den här snabbstarten för att göra ditt första anrop till API:et för visuell sökning i Bing. Det här Python-programmet laddar upp en bild till API:et och visar den information som returneras. Även om det här programmet är skrivet i Python är API:et en RESTful-webbtjänst som är kompatibel med de flesta programmeringsspråk.
Förutsättningar
Skapa en Azure-resurs
Börja använda API:et för visuell sökning i Bing genom att skapa någon av följande Azure-resurser:
- Tillgänglig via Azure Portal tills du tar bort resursen.
-
S9
Välj prisnivå.
- Tillgänglig via Azure Portal tills du tar bort resursen.
- Använd samma nyckel och slutpunkt för dina program i flera Azure AI-tjänster.
Initiera programmet
Skapa en ny Python-fil i valfri IDE eller redigeringsprogram och lägg till följande
import
instruktion:import requests, json
Skapa variabler för din prenumerationsnyckel, slutpunkt och sökvägen till den bild som du ska ladda upp. För värdet för
BASE_URI
kan du använda den globala slutpunkten i följande kod eller använda den anpassade underdomänslutpunkten som visas i Azure Portal för din resurs.BASE_URI = 'https://api.cognitive.microsoft.com/bing/v7.0/images/visualsearch' SUBSCRIPTION_KEY = 'your-subscription-key' imagePath = 'your-image-path'
När du laddar upp en lokal bild måste formulärdata innehålla
Content-Disposition
rubriken. Ställ in parameternname
på "image" och ange parameternfilename
till filnamnet på bilden. Innehållet i formuläret innehåller bildens binära data. Den maximala bildstorleken som du kan ladda upp är 1 MB.--boundary_1234-abcd Content-Disposition: form-data; name="image"; filename="myimagefile.jpg" ÿØÿà JFIF ÖÆ68g-¤CWŸþ29ÌÄøÖ‘º«™æ±èuZiÀ)"óÓß°Î= ØJ9á+*G¦... --boundary_1234-abcd--
Skapa ett ordlisteobjekt för att lagra din begärans rubrikinformation. Binda din prenumerationsnyckel till strängen
Ocp-Apim-Subscription-Key
.HEADERS = {'Ocp-Apim-Subscription-Key': SUBSCRIPTION_KEY}
Skapa en annan ordlista som ska innehålla din bild, som öppnas och laddas upp när du skickar begäran.
file = {'image' : ('myfile', open(imagePath, 'rb'))}
Tolka JSON-svaret
Skapa en metod med namnet print_json()
för att acceptera API-svaret och skriv ut JSON.
def print_json(obj):
"""Print the object as json"""
print(json.dumps(obj, sort_keys=True, indent=2, separators=(',', ': ')))
Skicka begäran
Använd requests.post()
för att skicka en begäran till API:et för webbsökning i Bing. Inkludera strängen för din slutpunkt, huvud och filinformation. Skriv ut response.json()
med print_json()
.
try:
response = requests.post(BASE_URI, headers=HEADERS, files=file)
response.raise_for_status()
print_json(response.json())
except Exception as ex:
raise ex