Ya creaste una cuenta y un proyecto de Google Cloud y habilitaste las API. Ahora puedes crear tu organización.
.Requisitos
Para crear una organización, debes cumplir con una de las siguientes condiciones:
- Tener una cuenta de Google Cloud. De forma predeterminada, una cuenta de Google Cloud te permitirá crear una organización de Apigee de evaluación no pagada. Las organizaciones de evaluación vencen después de 60 días. En ese momento, se borrará la organización.
- Tener habilitadas una cuenta de Google Cloud y una suscripción pagada a Apigee dentro de tu proyecto de Google Cloud y tu cuenta de facturación. Una suscripción pagada te permite crear implementaciones completas y escalables de Apigee. Comunícate con Ventas de Apigee para comprar una cuenta pagada y habilitar la suscripción.
Para crear una organización nueva y aprovisionarla, haz lo siguiente:
-
En la línea de comandos, obtén tus credenciales de autenticación de
gcloud
con el siguiente comando:Linux/MacOS
export TOKEN=$(gcloud auth print-access-token)
Para verificar que tu token se haya propagado, usa
echo
, como se muestra en el siguiente ejemplo:echo $TOKEN
Se debería mostrar tu token como una string codificada.
Windows
for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a
Para verificar que tu token se haya propagado, usa
echo
, como se muestra en el siguiente ejemplo:echo %TOKEN%
Se debería mostrar tu token como una string codificada.
- Asegúrate de tener las variables de entorno necesarias definidas con los siguientes comandos:
echo ${PROJECT_ID}
echo ${ORG_NAME}
echo ${ORG_DISPLAY_NAME}
echo ${ORGANIZATION_DESCRIPTION}
echo ${ANALYTICS_REGION}
echo ${RUNTIMETYPE}
Si es necesario, crea o redefine las siguientes variables de entorno para los elementos de la organización. Los usarás en el comando para crear la organización.
-
PROJECT_ID
(Obligatorio) es el proyecto de Google Cloud que deseas vincular a tu nueva organización con entornos híbridos habilitados. Este es el ID que Google generó para ti en el Paso 2: Crea un proyecto de Google Cloud.export PROJECT_ID=your_project_id
ORG_NAME
(Obligatorio) es el ID programático que deseas para tu organización con entornos híbridos habilitados.export ORG_NAME=$PROJECT_ID
ORG_DISPLAY_NAME
(opcional) es el nombre fácil de usar de tu organización. No es necesario que este valor sea único y puede incluir espacios y caracteres especiales. Por ejemplo, “Mi organización híbrida”.ORG_DISPLAY_NAME="friendly_name"
El contenido del nombre de la variable que contenga espacios debe estar entre comillas dobles. Por ejemplo: “Mi organización”
ORGANIZATION_DESCRIPTION
(Opcional) información acerca de la organización que deseas usar como recordatorio de este propósito. Por ejemplo, “Mi primera organización”.ORGANIZATION_DESCRIPTION="description_text"
ANALYTICS_REGION
(Obligatorio) es la región principal para el almacenamiento de los datos de estadísticas.export ANALYTICS_REGION=analytics_region
En el ejemplo anterior, analytics_region es una de las siguientes opciones:
asia-northeast1
asia-south1
asia-east1
asia-southeast1
australia-southeast1
us-central1
us-east1
us-west1
asia-southeast2
europe-west1
europe-west2
Elige una región que esté geográficamente cerca o que cumpla con los requisitos de almacenamiento de tu organización.
RUNTIMETYPE
(Obligatorio) es el tipo de entorno de ejecución de la organización de Apigee, en la que HÍBRIDO es el entorno de ejecución de Apigee Hybrid administrado por el usuario.export RUNTIMETYPE=HYBRID
-
- Envía una solicitud
POST
autenticada a Crea una API de la organización.En el siguiente ejemplo, se muestra la estructura de la solicitud que crea una organización:
curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \ -d '{ "name":"'"$ORG_NAME"'", "displayName":"'"$ORG_DISPLAY_NAME"'", "description":"'"$ORGANIZATION_DESCRIPTION"'", "runtimeType":"'"$RUNTIMETYPE"'", "analyticsRegion":"'"$ANALYTICS_REGION"'" }' \ "https://apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID"
En una solicitud de creación exitosa, la API de organizaciones debe responder con un mensaje similar al siguiente:
{ "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" } }
Donde:
- LONG_RUNNING_OPERATION_ID es el UUID de una operación de larga duración asíncrona. Puedes usar este ID para verificar el estado de tu solicitud de creación de organización (descrito en el paso 5).
- org_name es el ID de la organización nueva que se está creando actualmente.
Como lo indica la propiedad
state
en la respuesta, Apigee comenzó a crear la organización nueva, por lo que su estado esIN_PROGRESS
. Este proceso puede tardar varios minutos.Si recibes un error, consulta Solucionar los problemas de la creación de organizaciones.
- Guarda el ID de operación de larga duración en una variable de entorno.
Será útil para las tareas de administración futuras.
Sintaxis
export LONG_RUNNING_OPERATION_ID=long_running_operation_ID
Ejemplo
export LONG_RUNNING_OPERATION_ID=6abc8a72-46de-f9da-bcfe-70d9ab347e4f
- Puedes verificar el estado de la operación de larga duración cuyo ID mostró Apigee en la solicitud de creación inicial. Para hacer esto, usa la API de operaciones. Por ejemplo:
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/operations/$LONG_RUNNING_OPERATION_ID"
En los siguientes ejemplos, se muestran posibles respuestas a esta solicitud:
IN_PROGRESS
Si Apigee aún está creando la organización, Apigee responde con un estado de
IN_PROGRESS
. Por ejemplo:{ "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" } }
Debes esperar un poco más de tiempo antes de intentar verificar que se haya completado el proceso de creación.
FINISHED
Cuando se aprovisiona la organización, el estado de la operación de larga duración es
FINISHED
. Por ejemplo:{ "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", "displayName": "ORG_DISPLAY_NAME", "description": "ORGANIZATION_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": {} } } }
Si no ingresaste una descripción, ese campo no aparecerá en la respuesta.
Ver los detalles de la organización
Puedes ver los detalles de los metadatos de la organización que creaste con una API de Apigee. También puedes usar una API para enumerar todas las organizaciones a las que tu cuenta de Google Cloud tiene acceso. Para realizar estas acciones, debes usar la API de organizaciones.
Antes de probar las API, actualiza el token de autorización:
TOKEN=$(gcloud auth print-access-token)
Obtén detalles de la organización
Para obtener detalles sobre una sola organización, haz lo siguiente:
Envía una solicitud GET
(sin cuerpo) al siguiente extremo de la API de obtención de organizaciones:
https://apigee.googleapis.com/v1/organizations/org_name
En el siguiente ejemplo, se obtienen detalles sobre la organización $ORG_NAME
: en este ejemplo, $ORG_NAME se configura como “apigee-example
”.
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"
La respuesta a tu solicitud contiene detalles sobre la organización especificada en formato JSON.
En el siguiente ejemplo, se muestra una respuesta con detalles sobre la organización apigee-example
:
{ "name": "apigee-example", "displayName": "apigee-example-org", "description": "Apigee Example Org", "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": {} } }
Enumerar organizaciones
Para obtener una lista de todas las organizaciones a las que tiene acceso tu cuenta de Google Cloud, haz lo siguiente:
Envía una solicitud GET
(sin cuerpo) al siguiente extremo de la API de enumeración de organizaciones:
https://apigee.googleapis.com/v1/organizations
Por ejemplo:
curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations"
La respuesta a tu solicitud contiene un arreglo de todas las organizaciones habilitadas para la nube híbrida a las que tienes acceso, en formato JSON.
En el siguiente ejemplo, se muestra una respuesta con una sola organización, apigee-example
:
{ "organizations": [ { "organization": "apigee-example", "projectIds": [ "apigee-example" ] }, { "organization": "apigee-example-2", "projectIds": [ "apigee-example-2" ] } ] }
Soluciona los problemas de la creación de organizaciones
Cuando creas una organización con la API de creación de organizaciones, es posible que recibas una respuesta de error. Las respuestas se ven de la siguiente manera:
{ "error": { "code": HTTP_error_code, "message": "short_error_message", "status": "high_level_error_type", "details": [ { "@type": "specific_error_type", "detail": "expanded_error_description" } ] } }
En el siguiente ejemplo, se muestra una respuesta a un error común: el ID de la organización contiene caracteres no permitidos (los caracteres en mayúsculas no están permitidos en los ID de la organización):
{ "error": { "code": 400, "message": "invalid Organization ID \"MY-ORG\": \"MY-ORG\" is an invalid Organization ID", "status": "INVALID_ARGUMENT", "details": [ { "@type": "", "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\" }" } ] } }
En este caso, puedes cambiar el nombre de la organización con letras en minúscula y reenviar la solicitud.
En la siguiente tabla, se enumeran los errores que puedes recibir y las posibles soluciones cuando intentas crear una organización nueva:
Código de error HTTP | Error HTTP | Descripción |
---|---|---|
400 |
Invalid JSON payload received |
La estructura de los datos en tu solicitud contiene un error de sintaxis o la ruta de acceso al extremo es incorrecta. |
400 |
Invalid organization ID |
El ID de la organización que solicitas no puede contener letras en mayúscula ni caracteres especiales que no sean guiones. Solo debe contener letras en minúscula, números o guiones. Puede tener hasta 32 caracteres de longitud. |
400 |
Unsupported analytics region |
No especificaste el valor de analyticsRegion en el cuerpo de tu solicitud o el valor que especificaste no es una de las opciones válidas. |
400 |
Does not have an Apigee entitlement |
El proyecto de Google Cloud (que creaste en el Paso 2: Crea un proyecto de Google Cloud) aún no está habilitado para un entorno híbrido. Esto podría indicar un problema con tu facturación o algún otro error relacionado con tu cuenta de Google Cloud. Para obtener más información, comunícate con Ventas de Apigee. |
401 |
Request had invalid authentication credentials |
Tu token de autenticación de gcloud es incorrecto o está desactualizado, o no incluiste uno en la solicitud. Genera un token nuevo y vuelve a enviar la dirección. |
403 |
Permission denied on resource project project_ID |
Es posible que hayas enviado una solicitud que contenía una ruta o un ID del proyecto incorrectos. |
403 |
Unable to retrieve project information |
La organización aún no se creó ni aprovisionó. Puedes emitir una solicitud a la API de Operaciones para verificar el estado de la operación de larga duración, como se describe en el paso 5. |
409 |
Organization already exists |
Intentaste crear más de una organización para el proyecto de Google Cloud. Solo se puede crear una organización por proyecto. |
409 |
Org proposed_org_name already exists |
Intentaste crear una organización que tiene el mismo ID que una que ya existe. Los ID de las organizaciones deben ser únicos para todos los clientes híbridos. Vuelve a enviarla con un nuevo ID de organización propuesto. Por ejemplo, agrega un valor numérico al final del ID que intentaste antes. |