Rövid útmutató: Képelemzések lekérése a Bing Visual Search REST API és a Python használatával

Figyelmeztetés

2020. október 30-án a Bing Search API-k átkerültek a Cognitive Servicesből Bing Search Servicesbe. Ez a dokumentáció csak referenciaként szolgál. A frissített dokumentációért tekintse meg a Bing search API dokumentációját. Az új Azure-erőforrások Bing kereséshez való létrehozásával kapcsolatos utasításokért lásd: Bing Search-erőforrás létrehozása a Azure Marketplace.

Ezzel a rövid útmutatóval kezdeményezheti első hívását a Bing Visual Search API-hoz. Ez a Python-alkalmazás feltölt egy képet az API-ba, és megjeleníti a visszaadott információkat. Bár ez az alkalmazás Python nyelven van megírva, az API egy RESTful webszolgáltatás, amely kompatibilis a legtöbb programozási nyelvvel.

Előfeltételek

Azure-erőforrás létrehozása

Kezdje el használni a Bing Visual Search API-t az alábbi Azure-erőforrások egyikének létrehozásával:

Bing Search v7 erőforrás

  • Az Azure Portal keresztül érhető el, amíg nem törli az erőforrást.
  • Válassza ki a tarifacsomagot S9 .

Többszolgáltatásos erőforrás

  • Az Azure Portal keresztül érhető el, amíg nem törli az erőforrást.
  • Használja ugyanazt a kulcsot és végpontot az alkalmazásokhoz több Cognitive Services-szolgáltatásban.

Az alkalmazás inicializálása

  1. Hozzon létre egy új Python-fájlt a kedvenc IDE-jében vagy szerkesztőjében, és adja hozzá a következő import utasítást:

    import requests, json
    
  2. Hozzon létre változókat az előfizetői azonosítóhoz, a végponthoz és a feltölteni kívánt kép elérési útjához. Az értékhez BASE_URIhasználhatja a globális végpontot az alábbi kódban, vagy használhatja az erőforráshoz tartozó Azure Portal megjelenő egyéni altartományvégpontot.

    
    BASE_URI = 'https://api.cognitive.microsoft.com/bing/v7.0/images/visualsearch'
    SUBSCRIPTION_KEY = 'your-subscription-key'
    imagePath = 'your-image-path'
    
  3. Helyi kép feltöltésekor az űrlapadatoknak tartalmazniuk kell a fejlécet Content-Disposition . Állítsa a paramétert name "image" értékre, és állítsa a filename paramétert a kép fájlnevére. Az űrlap tartalma tartalmazza a kép bináris adatait. A feltölthető képek maximális mérete 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. Hozzon létre egy szótárobjektumot a kérés fejlécadatainak tárolásához. Kösse az előfizetői azonosítót a sztringhez Ocp-Apim-Subscription-Key.

    HEADERS = {'Ocp-Apim-Subscription-Key': SUBSCRIPTION_KEY}
    
  5. Hozzon létre egy másik szótárt, amely tartalmazza a rendszerképet, amelyet a rendszer a kérés elküldésekor nyit meg és tölt fel.

    file = {'image' : ('myfile', open(imagePath, 'rb'))}
    

A JSON-válasz elemzése

Hozzon létre egy metódust print_json() az API-válasz elfogadásához, és nyomtassa ki a JSON-t.

def print_json(obj):
    """Print the object as json"""
    print(json.dumps(obj, sort_keys=True, indent=2, separators=(',', ': ')))

A kérelem elküldése

Kérés requests.post() küldése a Bing Visual Search API-nak. Adja meg a végpont, a fejléc és a fájl adatainak sztringét. Nyomtatás response.json() a használatával 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

Következő lépések