Включить Cloud Vision API для доступа к файлу в облачном хранилище

я уже видел, что есть несколько похожих вопросов, но ни один из них не дает полного ответа. Поскольку я не могу комментировать в этой теме, я открываю новую.

Как мне ответить на комментарий Брэндона ниже?

«... Чтобы использовать API Cloud Vision с закрытым объектом GCS, вам необходимо отправить информацию аутентификации OAuth вместе с вашим запросом на учетную запись пользователя или службы, у которой есть разрешение на чтение объекта GCS».?

У меня есть файл json, который система предоставила мне, как описано здесь, когда я создал учетную запись службы. Я пытаюсь запустить API из скрипта Python.

Не понятно как его использовать.


person lordcenzin    schedule 09.05.2018    source источник


Ответы (1)


Я бы рекомендовал использовать клиентскую библиотеку Vision API для выполнения вызова с помощью python. Вы можете установить его на свой компьютер (в идеале в virtualenv), выполнив следующую команду:

pip install --upgrade google-cloud-vision

Затем вам нужно установить переменную среды GOOGLE_APPLICATION_CREDENTIALS в путь к файлу JSON, который содержит ключ вашей учетной записи службы. Например, на машине с Linux вы бы сделали это так:

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"

Наконец, вам просто нужно вызвать метод клиента Vision API, который вы хотите (например, здесь метод label_detection), например:

def detect_labels():
    """Detects labels in the file located in Google Cloud Storage."""
    client = vision.ImageAnnotatorClient()
    image = types.Image()
    image.source.image_uri = "gs://bucket_name/path_to_image_object"

    response = client.label_detection(image=image)
    labels = response.label_annotations
    print('Labels:')

    for label in labels:
        print(label.description)

При инициализации клиента без параметров библиотека будет автоматически искать переменную среды GOOGLE_APPLICATION_CREDENTIALS, которую вы ранее установили, и запускать от имени этой учетной записи службы. Если вы предоставили ему права доступа к файлу, он будет успешно запущен.

person LundinCast    schedule 09.05.2018