Свяжите агент диалогового потока с проектом Google Cloud Console и унаследуйте всех членов команды, которых я назначил проекту? - PullRequest
0 голосов
/ 23 января 2020

Как я могу создать агент диалогового потока и связать его с созданным мною проектом Google Cloud Console, чтобы он унаследовал всех членов команды, которых я назначил проекту? Я работаю над проектом диалогового потока. Я создал новый проект в Google Cloud Console и добавил несколько членов команды. Однако когда я переключаюсь на консоль диалогового потока, я не вижу свой проект и людей, которых я к нему добавил. Когда я создаю нового агента в диалоговом потоке, кажется, что он не имеет ничего общего с проектом, который я создал в облачной консоли, и мне приходится явно делиться агентом с командой. Так что проект Google Cloud Console бесполезен. Например, в Azure когнитивных сервисах я могу связать все с моим root проектом.

Бест СК

1 Ответ

0 голосов
/ 29 февраля 2020

Google мог бы лучше сделать эти ресурсы (например, проекты) более понятными.

На самом деле (насколько мне известно) все проекты Google представляют один и тот же базовый ресурс проекта, и вы можете, например, просматривать проекты DialogFlow из Google Cloud Console. и наоборот.

Я подозреваю (!), что вы создали 2 разных проекта: один с использованием (Google Cloud Platform) Консоль и один с использованием DialogFlow Консоль

Если у вас установлен Cloud SDK (он же gcloud), вы сможете составить список всех своих проектов (Cloud, DialogFlow et c.), Используя:

gcloud projects list

Теперь, чтобы ответь на свой вопрос Пользователи проектов Google (!) - это пользователи и группы учетных записей Google, а также учетные записи служб. Вы можете перечислить пользователей для данного проекта с помощью:

gcloud projects get-iam-policy ${PROJECT}

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

Тем не менее, вот команда gcloud для перечисления списка ${ROLE} (roles/owner) из одного проекта ${SRC}:

PSRC=...
ROLE="roles/owner"
MEMBERS=$(gcloud projects get-iam-policy ${PSRC} \
--flatten=bindings \
--filter=bindings.role:${ROLE} \
--format="value(bindings.members)") && echo ${MEMBERS}

NB Возможно, есть способ разделить user:some@email.com, если вам нужно

Затем вы можете перебрать этот список и добавить (!) Эти учетные записи в ${PDST}

for MEMBER in ${MEMBERS}
do
  gcloud projects add-iam-policy-binding ${DST} \
  --member=${MEMBER} \
  --role=${ROLE}
done

Наконец, при создании проекта DialogFlow вам предоставляется возможность использовать существующий проект Google (Cloud). В следующий раз, когда вы будете следовать этому потоку, ищите подсказку «создать новый или использовать существующий проект». Вы сможете выбрать проект, который вы создали ранее, чтобы повторно использовать своих пользователей.

...