Google-облако получить идентификатор экземпляра и зоны с API Python - PullRequest
0 голосов
/ 20 января 2019

Как я могу получить текущий запущенный instanceId и его зону в работающем приложении Python.

В Go и Java это делается следующим образом, что является эквивалентом в Python?

Go

import metadata "cloud.google.com/go/compute/metadata"

func main(){
    println(metadata.InstanceID))
}

Java

String instanceId = com.google.cloud.MetadataConfig.getInstanceId()

Ответы [ 2 ]

0 голосов
/ 21 мая 2019

Я нашел простое решение:

 requests.get("http://metadata/computeMetadata/v1/instance/id",
         headers={'Metadata-Flavor': 'Google'}).text
0 голосов
/ 21 января 2019

В Python это потребует немного больше кодирования. Вот что вам нужно сделать, чтобы перечислить все экземпляры в Google Compute Engine. ID экземпляра и зона.

  1. В Используя документацию клиентской библиотеки Python , вы можете увидеть пример кода для Create, List и Delete экземпляра. Также есть ссылка на GitHub для всего исходного кода.
  2. Чтобы перечислить экземпляры, вам нужны PROJECT_ID и ZONE. Это означает, что вы должны сначала перечислить все доступные ZONES, а затем перечислить все экземпляры в каждом ZONE, если они доступны. Обратитесь к документации Регионы и зоны для всех доступных зон и к Методу: zone.list для кода Python для их перечисления.

Я немного кодировал себя, и у меня есть код, который работал для меня. Вы можете найти мой пример кода здесь .

ПРИМЕЧАНИЕ: выполнение кода займет некоторое время, так как он ищет все возможные доступные экземпляры в каждом доступном ZONE.

...