Dela via


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:

Bing-sökning v7-resurs

  • Tillgänglig via Azure Portal tills du tar bort resursen.
  • S9 Välj prisnivå.

Resurs för flera tjänster

  • 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

  1. Skapa en ny Python-fil i valfri IDE eller redigeringsprogram och lägg till följande import instruktion:

    import requests, json
    
  2. 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_URIkan 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'
    
  3. När du laddar upp en lokal bild måste formulärdata innehålla Content-Disposition rubriken. Ställ in parametern name på "image" och ange parametern filename 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--
    
  4. 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}
    
  5. 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

Nästa steg