Я пытаюсь программно создавать блокноты AI Platform в GCP. В gcloud sdk есть некоторая поддержка для управления этими записными книжками, но не для их создания. И нет клиентской библиотеки для поддержки Node.js (язык, который я использую). Однако создание записных книжек поддерживается GCP REST API, как описано в здесь. Однако я изо всех сил пытаюсь понять, как указать, какой блокнот я хочу в JSON запроса. В веб-интерфейсе GCP мне нужны следующие настройки:
- имя экземпляра: test-instance
- регион: европа-запад2
- зона: europe-west2a
- среда: TensorFlow Enterprise 2.1 (с Intel® MKL-DNN / MKL)
- тип машины: e2-highmem-2 (эффективный экземпляр, 2 виртуальных ЦП, 16 ГБ ОЗУ)
- доступ к jupyter lab: только для одного пользователя
- электронная почта пользователя: [email protected]
- сервисный аккаунт: [email protected]
Но я изо всех сил пытаюсь перевести это в запрос JSON для REST API. Ниже то, что у меня есть на данный момент. Я не уверен, что это правильно, и мне определенно не хватает среды (tenorflow 2.1) и доступа только для одного пользователя. Я понятия не имею, как добиться этого, кроме как случайным образом пробовать разные запросы, пока он не сработает. (Я оставил часть JSON, просто указав типы в соответствии с документами, пока для справки).
POST https://notebooks.googleapis.com/v1beta1/projects/my-project/locations/europe-west2/instances
{
"name" : "testing-instance",
"instanceOwners": [
string
],
"serviceAccount": "[email protected]",
"machineType": "e2-highmem-2 (Efficient Instance, 2 vCPUs, 16 GB RAM)",
"acceleratorConfig": {
object (AcceleratorConfig)
},
"state": enum (State),
"installGpuDriver": boolean,
"customGpuDriverPath": string,
"bootDiskType": enum (DiskType),
"bootDiskSizeGb": string,
"dataDiskType": enum (DiskType),
"dataDiskSizeGb": string,
"noRemoveDataDisk": boolean,
"diskEncryption": enum (DiskEncryption),
"kmsKey": string,
"noPublicIp": boolean,
"noProxyAccess": boolean,
"network": string,
"subnet": string,
"labels": {
string: string,
...
},
"metadata": {
string: string,
...
},
"createTime": string,
"updateTime": string,
// Union field environment can be only one of the following:
"vmImage": {
object (VmImage)
},
"containerImage": {
object (ContainerImage)
}
// End of list of possible types for union field environment.
}