Как можно использовать gcloud для включения API
Я не могу найти способ, чтобы использовать gcloud
программа командной строки для изменения включенных API проекта. Моя догадка заключается в том, что это будет на биллинговой "арене", но я пытался найти это и мне очень повезло.
4 ответов
использовать
gcloud services enable <service name>
пример:
gcloud services enable containerregistry.googleapis.com
Проверьте service-management
поверхность. См.gcloud help service-management
для получения дополнительной помощи, а также gcloud help service-management enable
для получения справки о включении новых услуг. Использовать gcloud service-management list
список доступных служб, чтобы вы могли найти имя службы, которую хотите включить.
вопрос Для текущего проекта по умолчанию gcloud service-management list --enabled перечислить все доступные API включены.
$ gcloud service-management list --enabled
Listed 0 items.
если вы видите что-то вроде выше я.e 0 элементов, то вы, скорее всего, получите ошибку ниже для некоторых команд для проекта.
ERROR: (gcloud.compute.machine-types.list) Some requests did not succeed:
- Project {PROJECT_ID} is not found and cannot be used for API calls
решение Что вам нужно сделать, это ниже
- перечислите API, доступные для проекта, который можно включить
выход довольно длинный, поэтому я предлагаю вам использовать глобальный размер страницы опции е.г
$ gcloud service-management list --available --page-size=10 --sort-by="NAME"
NAME TITLE
picker.googleapis.com Google Picker API
bigquery-json.googleapis.com BigQuery API
chromewebstore.googleapis.com Chrome Web Store API
tracing.googleapis.com Google Tracing API
youtube.googleapis.com YouTube Data API v3
actions.googleapis.com Google Actions API
dataflow.googleapis.com Google Dataflow API
serviceuser.googleapis.com Google Service User API
fusiontables.googleapis.com Fusion Tables API
surveys.googleapis.com Surveys API
NAME TITLE
reseller.googleapis.com Google Apps Reseller API
speech.googleapis.com Google Cloud Speech API
appsmarket-component.googleapis.com Google Apps Marketplace SDK
bigtabletableadmin.googleapis.com Google Cloud Bigtable Table Admin API
container.googleapis.com Google Container Engine API
vision.googleapis.com Google Cloud Vision API
storage-api.googleapis.com Google Cloud Storage JSON API
weavecompanion.googleapis.com Weave Companion API
ml.googleapis.com Google Cloud Machine Learning Engine
firebaserules.googleapis.com Firebase Rules API
...
-
еще лучше проверить конкретные доступные API, которые вам нужны e.g чтобы проверить API Google Compute Engine, который я хочу включить
$ gcloud service-management list --available --filter='NAME:compute*' NAME TITLE compute-component.googleapis.com Google Compute Engine API
-
включить выставление счетов для проекта .
$ gcloud alpha billing accounts projects link amghouse-some-project-1 --account-id=XXFFXX-B9XX37-2D5DX --format=json { "billingAccountName": "billingAccounts/XXFFXX-B9XX37-2D5DX", "billingEnabled": true, "name": "projects/amghouse-some-project-1 /billingInfo", "projectId": "amghouse-some-project-1 " }
наконец, включите api для вашего проект
`
$gcloud service-management enable compute-component.googleapis.com
Waiting for async operation operations/projectSettings.c6d11ddc-915f-4d66-9b98-237e473e7682 to complete...
Operation finished successfully. The following command can describe the Operation details:
gcloud service-management operations describe operations/projectSettings.c6d11ddc-915f-4d66-9b98-237e473e7682
`
- и для хорошей меры не помешает проверить
`
$ gcloud service-management operations describe operations/projectSettings.c6d11ddc-915f-4d66-9b98-237e473e7682 --format=json
{
"done": true,
"metadata": {
"@type": "type.googleapis.com/google.api.servicemanagement.v1.OperationMetadata",
"persisted": true,
"resourceNames": [
"services/compute-component.googleapis.com/projectSettings/"
],
"startTime": "2017-04-08 23:30:22 WAT"
},
"name": "operations/projectSettings.c6d11ddc-915f-4d66-9b98-237e473e7682",
"response": {
"@type": "type.googleapis.com/google.api.servicemanagement.v1.EnableServiceResponse"
}
}
`
осторожностью Обратите внимание, что без привязки проекта к платежной информации попытка включить api завершится ошибкой, подобной
$ gcloud service-management enable compute-component.googleapis.com
ERROR: (gcloud.service-management.enable) FAILED_PRECONDITION: Operation does not satisfy the following requirements: billing-enabled {Billing must be enabled for activation of service '' in project 'amghouse-bct-sms-1' to proceed., https://console.developers.google.com/project/amghouse-bct-sms-1/settings}
Что сработало для меня для включения API container engine -
включить службы gcloud containerregistry.googleapis.com