Доступ к облачному API Google из локального проекта, не размещенного на облачной платформе Google - PullRequest
1 голос
/ 12 февраля 2020

Я хочу использовать API естественного языка облака Google из локального python кода. Из-за ограничений проекта я не могу запустить свой код на платформе GCP. У меня есть облачный аккаунт Google и кредиты для включения и использования API. Позволяет ли Google использовать API для запуска на локальных платформах. Любой пример кода будет полезен.

Ответы [ 3 ]

1 голос
/ 12 февраля 2020

Да, Google позволяет использовать API с ваших локальных платформ. Для этого выполните следующие действия:

  1. Вам необходимо создать учетную запись службы с соответствующими разрешениями.
  2. Создать закрытый ключ этой учетной записи службы и сохранить его на локальном компьютере.
  3. Используя этот закрытый ключ, сгенерируйте токен jwt с сайта jwt.io.
  4. Используйте этот jwt для вызова API токена доступа для получения токена доступа.
  5. Использование вызова токена доступа API обработки языка.

Я пытался использовать API миграции БД Google, используя технологию Java. Вы можете сослаться на мой код.

https://github.com/itssanjib/google-cloud-poc/tree/master/gcp-db-migration-poc

Пожалуйста, дайте мне знать, если потребуется какая-либо помощь.

1 голос
/ 13 февраля 2020

1.Создать или выбрать проект.

gcloud projects create nat-lan-api
gcloud config set project nat-lan-api

2.Включить биллинг.

gcloud alpha billing projects link  nat-lan-api  --billing-account XXXXXX-XXXXXX-XXXXXX

3.Включить API Google Natural Language для этого проекта.

gcloud services enable  language.googleapis.com

3. Создайте учетную запись службы.

gcloud iam service-accounts create natural-language-api  --description "natural-language-api"  --display-name "natural-language-api"
gcloud iam service-accounts list

4.Загрузите закрытый ключ как JSON.

gcloud iam service-accounts keys create key.json   --iam-account natural-language-api@nat-lan-api.iam.gserviceaccount.com 

5. Установите переменную среды GOOGLE_APPLICATION_CREDENTIALS в путь к файлу JSON, который содержит ключ учетной записи службы. Эта переменная применяется только к текущему сеансу оболочки, поэтому, если вы открываете новый сеанс, установите переменную снова.

export GOOGLE_APPLICATION_CREDENTIALS="/Users/user/folder/key.json"

6. Установите клиентскую библиотеку.

pip install --upgrade google-cloud-language

7. Проанализируйте текст.

cat natural.py
# Imports the Google Cloud client library
from google.cloud import language
from google.cloud.language import enums
from google.cloud.language import types

# Instantiates a client
client = language.LanguageServiceClient()

# The text to analyze
text = u'Hello, world!'
document = types.Document(
    content=text,
    type=enums.Document.Type.PLAIN_TEXT)

# Detects the sentiment of the text
sentiment = client.analyze_sentiment(document=document).document_sentiment

print('Text: {}'.format(text))
print('Sentiment: {}, {}'.format(sentiment.score, sentiment.magnitude))

8.Test.

python natural.py 
#Text: Hello, world!
#Sentiment: 0.30000001192092896, 0.30000001192092896
0 голосов
/ 12 февраля 2020

Вы можете использовать клиентские библиотеки Natural Language для вызова API из Python:

https://cloud.google.com/natural-language/docs/quickstart-client-libraries

Поскольку вы не будете вызывать API из Google Cloud Platform, вам нужно создать служебную учетную запись и использовать ее для аутентификации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...