Como desarrollador, puedes escribir funciones de Cloud Run, que proporcionan extremos HTTP. Invocas funciones de Cloud Run desde la clase /GOOG/CL_CLOUDFUNC_INVOKER
del SDK de ABAP mediante sus extremos HTTP.
El proceso implica llamar a una función de Cloud Run mediante su nombre y ubicación para obtener el extremo HTTP de la función. Este extremo se usa para invocar la función. La autenticación en Cloud Run Functions requiere un token de ID para invocar el extremo HTTP.
Los pasos de la configuración de alto nivel son los siguientes:
- En Google Cloud, habilita las APIs de Google Cloud.
- Crea una cuenta de servicio y otorga roles para obtener los detalles de la función de Cloud Run.
- Crea otra cuenta de servicio y otorga roles para invocar funciones de Cloud Run.
- Configura la autenticación en las funciones de Cloud Run.
- Configura la clave de cliente para invocar funciones de Cloud Run.
Habilita las APIs de Google Cloud
En la consola de Google Cloud, habilita las siguientes APIs de Google Cloud:
Para obtener información sobre cómo habilitar las APIs de Google Cloud, consulta Habilita las API.
Crea una cuenta de servicio para obtener detalles de la función de Cloud Run
En la consola de Google Cloud, crea una cuenta de servicio de IAM para obtener los detalles de tu función de Cloud Run.
Para obtener información sobre cómo crear una cuenta de servicio, consulta Crea una cuenta de servicio.
Otorga los siguientes roles a la cuenta de servicio:
Para obtener instrucciones, consulta Otorga un solo rol
Crea otra cuenta de servicio para invocar funciones de Cloud Run
En la consola de Google Cloud, crea una cuenta de servicio dedicada para invocar funciones de Cloud Run.
Para obtener información sobre cómo crear una cuenta de servicio, consulta Crea una cuenta de servicio.
Según la generación de funciones de Cloud Run que invoques, otorga los roles adecuados a la cuenta de servicio:
- Para las funciones de 1ª gen., otorga el rol
Cloud Functions Invoker
a la cuenta de servicio. - Para funciones de 2ª gen., otorga el rol
Cloud Run Invoker
a la cuenta de servicio.
Si quieres obtener más información sobre los permisos para invocar una función, consulta Autentica para la invocación.
- Para las funciones de 1ª gen., otorga el rol
Configura la autenticación en las funciones de Cloud Run
Según el entorno en el que se aloja tu sistema SAP, puedes usar uno de los siguientes métodos para configurar la autenticación basada en tokens a fin de acceder a la API de Cloud Run Functions:
- Sistema SAP alojado en una VM de Compute Engine
- Sistema SAP RISE o SAP alojado fuera de Google Cloud
Sistema SAP alojado en la VM de Compute Engine
Si deseas obtener instrucciones para configurar la autenticación para acceder a la API de Cloud Run funciones cuando el sistema SAP está alojado en una instancia de VM de Compute Engine, consulta Autentica mediante tokens de acceso. Configura una clave de cliente con la cuenta de servicio que creaste para obtener los detalles de la función de Cloud Run.
Sistema SAP RISE o SAP alojado fuera de Google Cloud
Configura la autenticación para acceder a las APIs de Cloud Run Functions mediante uno de los siguientes métodos de autenticación:
- Autentica mediante tokens web JSON (JWT)
- Autentica mediante tokens mediante la Federación de Workload Identity
Configura una clave de cliente con la cuenta de servicio que creaste para obtener los detalles de la función de Cloud Run.
Configura la clave de cliente para invocar funciones de Cloud Run
Según el entorno en el que se aloja tu sistema SAP, debes usar valores diferentes valores para la configuración de la clave de cliente:
- Sistema SAP alojado en una VM de Compute Engine
- Sistema SAP RISE o SAP alojado fuera de Google Cloud
Sistema SAP alojado en una VM de Compute Engine
En la GUI de SAP, ejecuta el código de transacción
/GOOG/SDK_IMG
.Como alternativa, ejecuta el código de transacción
SPRO
y, luego, haz clic en IMG de referencia de SAP.Haz clic en el SDK de ABAP para Google Cloud > Configuración básica > Configurar clave de cliente.
Haz clic en Entradas nuevas.
Ingresa los valores para los siguientes campos:
Campo Descripción Nombre de la clave de Google Cloud Especifica un nombre de la configuración de la clave de cliente. Nombre de la cuenta de servicio de Google Cloud Especifica el nombre de la cuenta de servicio a la que le otorgaste permisos para invocar funciones de Cloud Run. Por ejemplo:
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
.Permiso de Google Cloud Especifica el permiso de acceso, https://www.googleapis.com/auth/cloud-platform
.ID del proyecto Especifica el ID del proyecto de Google Cloud que tiene habilitada la API de Cloud Run Functions. Nombre del comando Deja este campo en blanco. Clase de autorización Especifica la clase de autorización, /GOOG/CL_AUTH_ID_TOKEN
.Campo de autorización Deja este campo en blanco. Almacenamiento en caché de tokens Deja este campo en blanco. Segundos de actualización de los tokens Deja este campo en blanco. Parámetro de autorización 1 Deja este campo en blanco. Parámetro de autorización 2 Deja este campo en blanco. Guarda la entrada nueva.
Sistema SAP RISE o SAP alojado fuera de Google Cloud
En la GUI de SAP, ejecuta el código de transacción
/GOOG/SDK_IMG
.Como alternativa, ejecuta el código de transacción
SPRO
y, luego, haz clic en IMG de referencia de SAP.Haz clic en el SDK de ABAP para Google Cloud > Configuración básica > Configurar clave de cliente.
Haz clic en Entradas nuevas.
Ingresa los valores para los siguientes campos:
Campo Descripción Nombre de la clave de Google Cloud Especifica un nombre de la configuración de la clave de cliente. Nombre de la cuenta de servicio de Google Cloud Especifica el nombre de la cuenta de servicio a la que le otorgaste permisos para invocar funciones de Cloud Run. Por ejemplo:
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
.Permiso de Google Cloud Especifica el permiso de acceso, https://www.googleapis.com/auth/cloud-platform
.ID del proyecto Especifica el ID del proyecto de Google Cloud que tiene habilitada la API de Cloud Run Functions. Nombre del comando Deja este campo en blanco. Clase de autorización Especifica la clase de autorización de la siguiente manera: - Para la autenticación mediante JWT, especifica
/GOOG/CL_AUTH_JWT_ID_TOKEN
. - Para la autenticación mediante la federación de Workload Identity, especifica la clase secundaria, que contiene la implementación de la clase
/GOOG/CL_AUTH_WIF_ID_TOKEN
. Si deseas obtener más información, consulta Implementa el código ABAP para recuperar tokens de seguridad de tu IdP.
Campo de autorización Deja este campo en blanco. Almacenamiento en caché de tokens Deja este campo en blanco. Segundos de actualización de los tokens Deja este campo en blanco. Parámetro de autorización 1 - Para la autenticación mediante JWT, si usas un nombre personalizado para la aplicación de SSF, especifica el nombre de la aplicación de SSF que creaste en la sección Crea una aplicación de almacenamiento y reenvío seguro (SSF).
- Para la autenticación mediante la federación de Workload Identity, especifica el ID del grupo de Workload Identity.
Parámetro de autorización 2 - Para la autenticación mediante JWT, deja este campo en blanco.
- Para la autenticación mediante la federación de Workload Identity, especifica el ID del proveedor de Workload Identity.
- Para la autenticación mediante JWT, especifica
Guarda la entrada nueva.
Obtenga asistencia
Si necesitas ayuda para resolver problemas con el SDK de ABAP para Google Cloud, haz lo siguiente:
Consulta la guía de solución de problemas del SDK de ABAP para Google Cloud.
Haz tus preguntas y analiza el SDK de ABAP para Google Cloud con la comunidad en Cloud Forums.
Recopila toda la información de diagnóstico disponible y comunícate con el servicio de Atención al cliente de Cloud. Si deseas obtener más información para comunicarte con el equipo de Atención al cliente de Cloud, consulta Obtén asistencia para SAP en Google Cloud.