Criou uma conta e um projeto do Google Cloud e ativou as APIs. Agora, pode criar a sua organização.
Pré-requisito
Para criar uma organização, tem de cumprir uma das seguintes condições:
- Ter uma conta de avaliação. As contas de avaliação expiram após 60 dias. Nessa altura, a organização vai ser eliminada.
- Ter uma conta paga
Se nenhuma destas opções for verdadeira, tem de contactar as vendas do Apigee antes de poder continuar.
Para criar uma nova organização e aprovisioná-la:
-
Na linha de comandos, obtenha as suas credenciais de autenticação
gcloud
, como mostra o exemplo seguinte:TOKEN=$(gcloud auth print-access-token)
Para verificar se o token foi preenchido, use
echo
, como mostra o exemplo seguinte:echo $TOKEN
Esta ação deve apresentar o seu token como uma string codificada.
Para mais informações, consulte a vista geral da ferramenta de linhas de comando gcloud.
- Envie um pedido
POST
autenticado para a API Create organizations.O exemplo seguinte mostra a estrutura do pedido que cria uma organização:
curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \ -d '{ "name":"org_name", "displayName":"display_name", "description":"organization_description", "runtimeType":"runtime_type", "analyticsRegion":"analytics_region" }' \ "https://apigee.googleapis.com/v1/organizations?parent=projects/project_ID"
Onde:
- (Obrigatório) org_name é o ID programático que quer para a sua organização com a funcionalidade híbrida ativada. O ID da organização tem de corresponder ao ID do projeto do Google Cloud
que criou no passo 2: crie um projeto do Google Cloud. Por exemplo,
hybrid-42
. - (Obrigatório) runtime_type é o tipo de tempo de execução da organização do Apigee, em que HYBRID é o tempo de execução híbrido do Apigee gerido pelo utilizador.
- (Obrigatório) analytics_region é a região principal para o
armazenamento de dados do Analytics. Selecione uma das seguintes opções:
asia-northeast1
australia-southeast1
us-west1
us-central1
us-east1
europe-west1
europe-west2
Disponibilizamos esta opção para que possa escolher uma região geograficamente próxima ou se a sua organização tiver outros requisitos de armazenamento.
- (Obrigatório) project_ID é o projeto do Google Cloud que quer associar à sua nova organização com capacidade híbrida. Este é o ID que a Google gerou para si no passo 2: crie um projeto do Google Cloud.
- (Opcional) display_name é o nome intuitivo da sua organização. Este valor não tem de ser exclusivo e pode incluir espaços e carateres especiais. Por exemplo, "A minha organização híbrida".
- (Opcional) organization_description são informações sobre a organização que quer usar como lembrete da respetiva finalidade. Por exemplo, "A minha primeira organização".
Num pedido de criação bem-sucedido, a API Organizations deve responder com uma mensagem semelhante à seguinte:
{ "name": "organizations/organization_ID/operations/long_running_operation_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/organization_ID", "state": "IN_PROGRESS" } }
Onde:
- long_running_operation_ID é o UUID de uma operação assíncrona de longa duração. Pode usar este ID para verificar o estado do seu pedido de criação da organização (descrito mais tarde).
- organization_ID é o ID da sua nova organização que está atualmente a ser criada.
Conforme indicado pela propriedade
state
na resposta, o Apigee começou a criar a nova organização, pelo que o respetivo estado éIN_PROGRESS
. Este processo pode demorar vários minutos.Se receber um erro, consulte o artigo Resolução de problemas de criação de organizações.
- (Obrigatório) org_name é o ID programático que quer para a sua organização com a funcionalidade híbrida ativada. O ID da organização tem de corresponder ao ID do projeto do Google Cloud
que criou no passo 2: crie um projeto do Google Cloud. Por exemplo,
- Pode verificar o estado da operação de longa duração cujo ID o Apigee devolveu no seu pedido de criação inicial. Para tal, use a API Operations, conforme mostrado no exemplo
seguinte:
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/organization_ID/operations/long_running_operation_ID"
Os exemplos seguintes mostram possíveis respostas a este pedido:
CONCLUÍDO
Quando a organização tiver sido aprovisionada, o estado da operação de longa duração é
FINISHED
, como mostra o exemplo seguinte:{ "operations": [ { "name": "organizations/organization_ID/operations/long_running_operation_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/organization_ID", "state": "FINISHED" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.apigee.v1.Organization", "name": "organization_ID", "createdAt": "1572550611", "lastModifiedAt": "1572550611", "displayName": "display_name" "description": "description" "properties": { "property": [ { "name": "features.hybrid.enabled", "value": "true" } ] }, "analyticsRegion": "us-east1" "runtimeType": "HYBRID", } } ] }
Se não introduziu uma descrição, esse campo não aparece na resposta.
Parabéns! Criou uma nova organização e está pronta para ser usada. Pode continuar para o Passo 5: adicione um ambiente.
IN_PROGRESS
Se o Apigee ainda estiver a criar a organização, responde com o estado
IN_PROGRESS
, como mostra o exemplo seguinte:{ "name": "organizations/organization_ID/operations/long_running_operation_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/organization_ID", "state": "IN_PROGRESS" } }
Deve aguardar um pouco mais antes de tentar validar se o processo de criação está concluído.
Resolução de problemas de criação da organização
Quando cria uma organização com a API Create organizations, pode receber uma resposta de erro. As respostas têm o seguinte aspeto:
{ "error": { "code": HTTP_error_code, "message": "short_error_message", "status": "high_level_error_type", "details": [ { "@type": "specific_error_type", "detail": "expanded_error_description" } ] } }
O exemplo seguinte mostra uma resposta a um erro comum: o ID da organização contém carateres ilegais (não são permitidos carateres em maiúsculas nos IDs das organizações):
{ "error": { "code": 400, "message": "invalid Organization ID \"MY-ORG\": \"MY-ORG\" is an invalid Organization ID", "status": "INVALID_ARGUMENT", "details": [ { "@type": "type.googleapis.com/google.rpc.DebugInfo", "detail": "[ORIGINAL ERROR] generic::invalid_argument: invalid Organization ID \"MY-ORG\": \"My-ORG\" is an invalid Organization ID [google.rpc.error_details_ext] { message: \"invalid Organization ID \\\"MY-ORG\\\": \\\"MY-ORG\\\" is an invalid Organization ID\" }" } ] } }
Neste caso, pode mudar o nome da organização para letras minúsculas e reenviar o pedido.
A tabela seguinte apresenta os erros que pode receber e as potenciais resoluções quando tenta criar uma nova organização:
Código de erro HTTP | Erro HTTP | Descrição |
---|---|---|
400 |
Invalid JSON payload received |
A estrutura dos dados no seu pedido contém um erro de sintaxe ou o caminho para o ponto final está incorreto. |
400 |
Invalid organization ID |
O ID da organização que pede não pode conter letras maiúsculas nem carateres especiais, exceto hífenes. Tem de conter apenas letras minúsculas, números e/ou hífenes. Pode ter um comprimento máximo de 32 carateres. |
400 |
Unsupported analytics region |
Não especificou o valor de analyticsRegion no corpo do pedido ou o valor especificado não é uma das opções válidas. |
400 |
Does not have an Apigee entitlement |
O seu projeto do Google Cloud (que criou no Passo 2: crie um projeto do Google Cloud) ainda não foi ativado de forma híbrida. Isto pode indicar um problema com a faturação ou outro erro relacionado com a sua conta do Google Cloud. Para mais informações, contacte a equipa de vendas do Apigee. |
401 |
Request had invalid authentication credentials |
O seu token de autenticação do gcloud é inválido ou está desatualizado, ou não incluiu um no pedido. Gere um novo token e reenvie a morada. |
403 |
Permission denied on resource project project_ID |
Pode ter enviado um pedido que continha um ID do projeto ou um caminho incorreto. |
403 |
Unable to retrieve project information |
A organização ainda não foi criada nem aprovisionada. Pode emitir um pedido para a API Operations para verificar o estado da operação de longa duração, conforme descrito no procedimento acima. |
409 |
Organization already exists |
Tentou criar mais do que uma organização para o projeto do Google Cloud. Só pode criar uma organização por projeto. |
409 |
Org proposed_organization_ID already exists |
Tentou criar uma organização com o mesmo ID de uma organização que já existe. Os IDs das organizações têm de ser exclusivos para todos os clientes híbridos. Reenvie com um novo ID da organização proposto. Por exemplo, acrescente um valor numérico ao final do ID anterior que tentou. |
Obtenha informações da organização
Pode obter uma lista de todas as organizações às quais a sua conta tem acesso ou pode obter detalhes sobre uma organização específica através do respetivo ID. Para realizar estas ações, usa a API organizations.
Listar organizações
Para obter uma lista de todas as organizações:
Envie um pedido GET
(sem corpo) para o seguinte ponto final da API List organizations:
https://apigee.googleapis.com/v1/organizations
Por exemplo:
curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations"
A resposta ao seu pedido contém uma matriz de todas as organizações com a funcionalidade híbrida ativada às quais tem acesso, no formato JSON.
O exemplo seguinte mostra uma resposta com uma única organização, "my-org-42":
{ "organizations": [ { "organization": "my-org-42", "projectIds": [ "my-project" ] } ] }
Obtenha detalhes
Para obter detalhes sobre uma única organização:
Envie um pedido GET
(sem corpo) para o seguinte ponto final da API Get organizations:
https://apigee.googleapis.com/v1/organizations/organization_ID
O exemplo seguinte obtém detalhes sobre a organização "my-org-42":
curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/my-org-42"
A resposta ao seu pedido contém detalhes sobre a organização especificada no formato JSON.
O exemplo seguinte mostra uma resposta com detalhes sobre a organização "my-org-42":
{ "name": "my-org-42", "createdAt": "1572550611", "lastModifiedAt": "1572550611", "environments": [ "my-environment" ], "analyticsRegion": "us-east1" }