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:
- Az Azure Portal keresztül érhető el, amíg nem törli az erőforrást.
- Válassza ki a tarifacsomagot
S9.
- 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
Hozzon létre egy új Python-fájlt a kedvenc IDE-jében vagy szerkesztőjében, és adja hozzá a következő
importutasítást:import requests, jsonHozzon 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'Helyi kép feltöltésekor az űrlapadatoknak tartalmazniuk kell a fejlécet
Content-Disposition. Állítsa a paramétertname"image" értékre, és állítsa afilenameparamé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--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}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