Nesta etapa, você cria uma organização da Apigee.
Para criar uma nova organização e provisioná-la:
-
Na linha de comando, receba as credenciais de autenticação de
gcloud
usando o comando a seguir:Linux / MacOS
export TOKEN=$(gcloud auth print-access-token)
Para verificar se o token foi preenchido, use
echo
, como mostra o exemplo a seguir:echo $TOKEN
Isso exibirá seu token como uma string codificada.
Windows
for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a
Para verificar se o token foi preenchido, use
echo
, como mostra o exemplo a seguir:echo %TOKEN%
Isso exibirá seu token como uma string codificada.
-
Na Etapa 1, você criou a variável de ambiente
PROJECT_ID
. Adicione estas variáveis de ambiente:Linux / MacOS
export ORG_NAME=$PROJECT_ID
export ANALYTICS_REGION="ANALYTICS_REGION"
export RUNTIMETYPE=HYBRID
Windows
set ORG_NAME=$PROJECT_ID
set ANALYTICS_REGION="ANALYTICS_REGION"
set RUNTIMETYPE=HYBRID
Em que:
ORG_NAME
(obrigatório): esse valor precisa corresponder aPROJECT_ID
.ANALYTICS_REGION
(obrigatório): a região principal para armazenamento de dados de análise. Para conferir uma lista de regiões disponíveis do Apigee API Analytics, consulte os locais da Apigee.-
RUNTIMETYPE
(obrigatório): precisa ser definido comoHYBRID
.
- Chame a seguinte API da Apigee para criar a organização:
curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \ -d '{ "name":"'"$ORG_NAME"'", "runtimeType":"'"$RUNTIMETYPE"'", "analyticsRegion":"'"$ANALYTICS_REGION"'" }' \ "https://apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID"
Em uma solicitação de criação bem-sucedida, a API das organizações responde com uma mensagem semelhante a esta:
{ "name": "organizations/org_name/operations/LONG_RUNNING_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/org_name", "state": "IN_PROGRESS" } }
Em que:
- LONG_RUNNING_OPERATION_ID é o UUID de uma operação assíncrona e de longa duração. É possível usar esse ID para verificar o status da solicitação de criação da organização (descrito na etapa 5).
- org_name é o ID da sua nova organização que está sendo criada.
Como a propriedade
state
na resposta indica que a Apigee começou a criar a nova organização, o estado dela éIN_PROGRESS
. Esse processo pode levar vários minutos.Se você receber um erro, consulte Como solucionar problemas na criação da organização.
- Salve o ID da operação de longa duração em uma variável de ambiente.
Ele será útil para tarefas de gerenciamento futuras.
Sintaxe
export LONG_RUNNING_OPERATION_ID=LONG_RUNNING_OPERATION_ID
Exemplo
export LONG_RUNNING_OPERATION_ID=6abc8a72-46de-f9da-bcfe-70d9ab347e4f
- É possível verificar o status da operação de longa duração em que o ID foi retornado pela
solicitação de criação. Para isso, use a API de operações. Exemplo:
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/operations/$LONG_RUNNING_OPERATION_ID"
Os exemplos a seguir mostram possíveis respostas a essa solicitação:
IN_PROGRESS
Se a Apigee ainda estiver criando a organização, ela responderá com um status
IN_PROGRESS
. Exemplo:{ "name": "organizations/ORG_NAME/operations/LONG_RUNNING_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/ORG_NAME", "state": "IN_PROGRESS" } }
Aguarde um pouco mais antes de tentar verificar se o processo de criação foi concluído.
FINISHED
Quando a organização foi provisionada, o estado da operação de longa duração era
FINISHED
. Exemplo:{ "name": "organizations/ORG_NAME/operations/LONG_RUNNING_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/ORG_NAME", "state": "FINISHED" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.apigee.v1.Organization", "name": "ORG_NAME", "description": "", "createdAt": "1626237148461", "lastModifiedAt": "1626237149384", "properties": { "property": [ { "name": "features.hybrid.enabled", "value": "true" }, { "name": "features.mart.connect.enabled", "value": "true" } ] }, "analyticsRegion": "ANALYTICS_REGION", "runtimeType": "HYBRID", "subscriptionType": "TRIAL", "state": "ACTIVE", "billingType": "EVALUATION", "expiresAt": "1631421073171", "addonsConfig": { "advancedApiOpsConfig": {}, "integrationConfig": {}, "monetizationConfig": {} } } }
É possível usar a API das organizações da Apigee para recuperar informações sobre uma organização após a criação. Por exemplo:
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"
A resposta à sua solicitação contém detalhes sobre a organização especificada no formato JSON.
{ "name": "apigee-example", "createdAt": "1626237148461", "lastModifiedAt": "1626237149384", "properties": { "property": [ { "name": "features.hybrid.enabled", "value": "true" }, { "name": "features.mart.connect.enabled", "value": "true" } ] }, "analyticsRegion": "us-west1", "runtimeType": "HYBRID", "subscriptionType": "TRIAL", "projectId": "apigee-example", "state": "ACTIVE", "billingType": "EVALUATION", "expiresAt": "1631421073171", "addonsConfig": { "advancedApiOpsConfig": {}, "integrationConfig": {}, "monetizationConfig": {} } }
Como solucionar problemas na criação da organização
Ao criar uma organização com a API Create Organizations, você talvez receba uma resposta de erro. As respostas têm a seguinte aparência:
{ "error": { "code": HTTP_error_code, "message": "short_error_message", "status": "high_level_error_type", "details": [ { "@type": "specific_error_type", "detail": "expanded_error_description" } ] } }
A tabela a seguir lista os erros que você pode receber e as possíveis resoluções ao tentar criar uma nova organização:
Código de erro HTTP | Erro HTTP | Descrição |
---|---|---|
400 |
Invalid JSON payload received |
A estrutura dos dados na solicitação contém um erro de sintaxe ou o caminho para o endpoint está incorreto. |
400 |
Invalid organization ID |
O ID da organização solicitado não pode conter letras maiúsculas ou quaisquer caracteres especiais diferentes de hífens. Ele precisa conter apenas letras minúsculas, números e/ou hífens. Ele pode ter até um máximo de 32 caracteres. |
400 |
Unsupported analytics region |
Você não especificou o valor de analyticsRegion no
corpo da solicitação ou o valor especificado não é uma das opções válidas. |
400 |
Does not have an Apigee entitlement |
Seu projeto do Google Cloud (criado na Etapa 2: criar um projeto do Google Cloud) ainda não foi ativado como híbrida. Isso pode indicar um problema com seu faturamento ou algum outro erro relacionado à sua conta do Google Cloud. Para mais informações, entre em contato com a equipe de vendas da Apigee. |
400 |
'global' violates constraint in constraints/gcp.resourceLocations
on the resource projects/PROJECT_ID, Control Plane Region |
Você tentou criar uma organização que não tem direito a uma assinatura PAID. As organizações da Apigee híbrida do tipo EVAL não oferecem suporte à Residência de dados. |
400 |
runtimeType HYBRID is not supported for PAYG_V2, use CLOUD instead: invalid argument |
Você tentou criar uma organização em um projeto com um direito de acesso de pagamento por utilização (PAYG, na sigla em inglês). Entre em contato com o representante da sua conta do Google Cloud para tirar dúvidas sobre os direitos da organização. |
401 |
Request had invalid authentication credentials |
Seu token de autenticação gcloud está incorreto ou desatualizado ou não foi
incluído na solicitação. Gere um novo token e reenvie o endereço. |
403 |
Permission denied on resource project project_ID |
Você pode ter enviado uma solicitação que continha um caminho ou ID de projeto incorreto. |
403 |
Unable to retrieve project information |
A organização ainda não foi criada ou provisionada. É possível emitir uma solicitação para a API Operations a fim de verificar o status da operação de longa duração, conforme descrito na etapa 5. |
403 |
Permission denied on resource project organizations/PROJECT_ID/deployedIngressConfig |
Você tentou criar uma organização, mas ela não tem os direitos corretos. Entre em contato com o representante da sua conta do Google Cloud para tirar dúvidas sobre os direitos da organização. |
409 |
Organization already exists |
Você tentou criar mais de uma organização para o projeto do Google Cloud. Você só pode criar uma organização por projeto. |
409 |
Org proposed_org_name already exists |
Você tentou criar uma organização que tem o mesmo ID que uma que já existe. Os IDs de organização precisam ser exclusivos em todos os clientes híbridos. Reenviar com um novo ID da organização proposto. Por exemplo, anexe um valor numérico ao final do ID anterior que você tentou. |
Próxima etapa
Acesse a Etapa 3: Criar um grupo de ambiente.