Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Empezar con AWS SDK para SAP ABAP
En esta sección se describe cómo empezar conSDK. Incluye información sobre la instalaciónSDK, la configuración básica y la creación de un ejemplo de código de Hello World que traduzca una frase de un idioma a otro. Si es la primera vez que lo AWS SDK usa, le recomendamos que realice estos pasos en un entorno sandbox.
Paso 1: Prepara tu cuenta AWS
SDKPara empezar SAPABAP, debes tener una activa Cuenta de AWS . Lo necesitará Cuenta de AWS incluso si su SAP sistema está alojado de forma local, en una plataforma tecnológica SAP empresarial (BTP) o con otro proveedor de servicios en la nube.
Si su SAP sistema se ejecuta en AWS la nube, realizará llamadas a AWS
los servicios de su Cuenta de AWS.
IAMrol para SAP los usuarios
-
Cree un IAM rol con las instrucciones que se proporcionan en la Guía del AWS Identity and Access Management usuario. Para obtener más información, consulte Crear un rol para delegar permisos a un AWS servicio. Anote el nombre del recurso de Amazon (ARN) del IAM rol para usarlo más adelante.
-
Selecciona Amazon EC2 como caso de uso.
-
Utilice SapDemoTranslate
como nombre del rol.
-
Adjunte el perfil de TranslateReadOnly
al rol.
-
La función debe tener las siguientes entidades para que el SAP sistema pueda asumirla. Sustituya "111122223333"
por su nombre de cuenta de AWS
.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sts:AssumeRole"
],
"Principal": { "AWS": "111122223333"
}
}
]
}
En este ejemplo se muestra que cualquier director de la Cuenta de AWS
"111122223333"
puede asumir la función. Este es un permiso amplio adecuado para proof-of-concept. Puede utilizar una entidad principal más limitada para la producción, como en los ejemplos siguientes.
-
Un usuario específico: cuando el SAP sistema utiliza una de las siguientes opciones:
-
Un rol específico: cuando el SAP sistema está en Amazon EC2 y hay un perfil de instancia.
-
AmazonEC2: cuando el SAP sistema está en Amazon EC2 y no hay un perfil de instancia.
Para obtener más información, consulta Mejores prácticas de IAM seguridad.
Autenticación
La autenticación depende del lugar donde esté alojado el SAP sistema.
En la AWS nube
Asegúrese de que la EC2 instancia en la que se ejecuta el SAP sistema tenga un perfil de instancia con los siguientes permisos.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::111122223333:role/SapDemoTranslate"
}
]
}
Agrega lo ARN que anotaste en el paso anterior.
Este permiso permite al SAP sistema asumir la SapDemoTranslate
función en nombre del ABAP usuario.
En las instalaciones SAP BTP o en otra nube
Si su SAP sistema está ubicado de forma local, en otra nube SAP BTP o en otra, siga los siguientes pasos para establecer una conexión de autenticación mediante una clave de acceso secreta.
-
Cree un usuario de IAM. Para obtener más información, consulte Creación de IAM usuarios (consola).
-
SapDemoSID
Utilícelo como nombre del IAM usuario. SID
es el identificador de sistema de su SAP sistema.
-
Asigne el rol SapDemoTranslate
a este usuario.
Conserve las access_key
letras ysecret_access_key
. Debe configurar estas credenciales en su SAP sistema.
Si su SAP sistema está ubicado de forma local, en SAP BTP o en otra nube, puede autenticarse mediante una de las siguientes opciones.
Paso 2: Instalar el SDK
Consulte las siguientes pestañas para obtener instrucciones de instalación.
- SDK for SAP ABAP
-
Importe SDK para su SAP ABAP transporte en su SAP sistema. Puede importar los transportes a cualquier cliente. Para obtener más información, consulte Instalación SDK para SAP ABAP.
- SDK for SAP ABAP - BTP edition
-
Realice SDK la instalación para su SAP ABAP BTP edición mediante la aplicación Deploy Product. Para obtener más información, consulte Instalación SDK para SAP ABAP la BTP edición.
Antes de configurarloSDK, asegúrese de que dispone de las autorizaciones necesarias. Para obtener más información, consulte SAPautorizaciones.
Consulte las siguientes pestañas para obtener instrucciones de configuración.
- SDK for SAP ABAP
-
Ejecute la /AWS1/IMG
transacción para abrir la Guía de implementación de SDK for SAPABAP. Para ejecutar esta transacción, introduzca /n/AWS1/IMG
en la barra de comandos del SAP sistema y, a continuación, pulse Entrar.
Complete las siguientes configuraciones.
-
Vaya a Requisitos técnicos previos.
-
Vaya a Configuración global → Configurar escenarios.
-
Vaya a Configuración global → Configuración técnica.
-
Vaya a Configuración de tiempo de ejecución → Registrar y rastrear.
-
Vaya a Configuración de tiempo de ejecución → Escenario activo.
Requisitos previos para sistemas en las instalaciones
Si el SAP sistema se ejecuta de forma local o en otra nube, las credenciales deben almacenarse en la base de datos. SAP Las credenciales se SAP SSF cifran mediante una biblioteca criptográfica configurada, como la SAP CommonCryptoLib
Los pasos para configurar SSF SDK para SAP ABAP se describen en la /AWS1/IMG
transacción.
El requisito previo anterior no se aplica si el SAP sistema se ejecuta en AmazonEC2. SAPlos sistemas que se ejecutan en Amazon EC2 recuperan credenciales efímeras que rotan automáticamente de los metadatos de la EC2 instancia de Amazon.
- SDK for SAP ABAP - BTP edition
-
Abra su ABAP entorno en un navegador web y navegue hasta la aplicación Custom Business Configurations.
Complete las siguientes configuraciones.
Paso 4: Configuración funcional
Consulte las siguientes pestañas para obtener instrucciones de configuración.
- SDK for SAP ABAP
-
Ejecute la transacción /AWS1/IMG
(/n/AWS1/IMG
introdúzcala en la barra de comandos y pulse Entrar) para abrir la guía de implementación AWS SDK.
-
Vaya a Configuración de la aplicación → SDKPerfil.
-
Resalte la entrada que creó y haga clic en la rama del árbol de autenticación y configuración.
-
Haga clic en la rama del árbol de mapeo de IAM roles.
- SDK for SAP ABAP - BTP edition
-
Configure la autenticación mediante el almacén de SAP credenciales. Para obtener más información, consulte Uso del almacén de SAP credenciales.
Abra su ABAP entorno en un navegador web y navegue hasta la aplicación Custom Business Configurations.
-
Vaya al SDKperfil.
-
Seleccione la tecla de flecha derecha situada junto a la entrada creada para ir a la pestaña Autenticación y configuración.
Seleccione Nuevas entradas.
-
SID: el ID del SAP sistema en el que se encuentra actualmente.
-
Cliente: el cliente del SAP sistema en el que se encuentra actualmente.
-
ID de escenario: la lista desplegable en la que encontrarás el DEFAULT escenario creado por tu administrador de Basis.
-
AWS Región: introduce la AWS región a la que quieres hacer llamadas. Si su SAP sistema está funcionando AWS, introduzca la AWS región en la que se está ejecutando.
-
Método de autenticación: seleccione las credenciales del almacén de SAP credenciales.
-
Introduzca el espacio de nombres y el nombre clave de las credenciales almacenadas en SAP el almacén de credenciales.
-
Introduzca el nombre del acuerdo de comunicación creado para establecer la comunicación entre SDK for SAP ABAP - BTP edition y SAP Credential Store.
-
Mantenga en blanco la opción Desactivar IAM funciones.
-
Haga clic con el botón derecho en la tecla de flecha derecha situada junto a la entrada creada para acceder a la pestaña IAMRole Mapping.
Seleccione Nuevas entradas.
-
Escriba el número de secuencia: 010.
-
Introduzca el IAMrol lógico:TESTUSER.
-
Introduzca el IAMrol ARN: introduzca el arn:aws: del IAM rol que contiene la TranslateReadOnly
política creada en el paso anterior.
Paso 5: Autorizar a los usuarios SAP
SAPlos usuarios no están autorizados a utilizar AWS la funcionalidad de forma predeterminada. Los usuarios deben estar autorizados explícitamente mediante SAP autorizaciones. Consulte las siguientes pestañas para obtener más información.
- SDK for SAP ABAP
-
Crea un PFCG rol
Asigne el PFCG rol a SAP los usuarios
Cualquier usuario que tenga el ZAWS_SDK_DEMO_TESTUSER
rol asignado estará autorizado a utilizar AWS SDK las funciones con los ajustes configurados en el DEMO
SDK perfil. El usuario autorizado también asumirá el IAM rol asignado al IAM rol TESTUSER
lógico en ese perfil.
- SDK for SAP ABAP - BTP edition
-
Cree un rol empresarial
-
Abra su ABAP entorno en un navegador web y navegue hasta la aplicación Maintain Business Roles.
-
Seleccione Crear a partir de una plantilla e introduzca los siguientes detalles.
-
Plantilla: elija/AWS1/RT_BTP_ENDUSER
.
-
ID de nuevo rol empresarial: introduzca un ID.
-
Descripción del nuevo rol empresarial: introduzca una descripción.
-
Seleccione Aceptar para ver la página del rol empresarial.
-
En la pestaña Detalles generales del rol, vaya a Categorías de acceso y establezca el campo de ayuda para escribir, leer y valorar como restringido.
-
Seleccione Mantener restricciones y expanda los tipos de restricciones asignados en el panel de navegación izquierdo. Actualice el siguiente campo en la sección Restricciones y valores.
-
En Elegir SDK sesión, selecciona el icono del lápiz situado junto a SDKPerfil y navega hasta la pestaña Rangos. DEMO
Ingresa y selecciona Agregar.
-
En Elegir IAM rol lógico, selecciona el icono del lápiz situado junto a IAMRol lógico y navega hasta la pestaña Rangos. Introduzca TESTUSER
y seleccione Añadir.
Selecciona el icono del lápiz situado junto a SDKPerfil y navega hasta la pestaña Rangos. DEMO
Ingresa y selecciona Agregar
-
Vuelva a la plantilla de rol empresarial y abra la pestaña Usuarios empresariales. Seleccione Agregar para asignar el rol empresarial recién creado a un usuario SAP empresarial que probará la SDK funcionalidad. Seleccione Guardar.
Cualquier usuario empresarial asignado al rol empresarial creado estará autorizado a utilizar AWS SDK las funciones con los ajustes configurados en el DEMO
SDK perfil. El usuario autorizado también asumirá el IAM rol asignado al IAM rol TESTUSER
lógico en ese perfil.
Paso 6: Escribe el código
Consulte las siguientes pestañas para obtener más información.
- SDK for SAP ABAP
-
-
Abra la transacción SE38
.
-
Escriba ZDEMO_TRANSLATE_HELLO_WORLD
como nombre del programa.
-
Seleccione Create
.
-
Escriba AWS SDK Hello World In Any Language
como título.
-
Tipo: elija Programa ejecutable.
-
Estado: elija Programa de prueba.
-
Seleccione Guardar.
-
Guarde el programa como un objeto local.
Añada el código siguiente.
*&---------------------------------------------------------------------*
*& Report ZAWS1_DEMO_XL8_SIMPLE
*&
*&---------------------------------------------------------------------*
*& A simple demo of language translation with AWS Translate
*&
*&---------------------------------------------------------------------*
REPORT zaws1_demo_xl8_simple.
START-OF-SELECTION.
PARAMETERS pv_text TYPE /aws1/xl8boundedlengthstring DEFAULT 'Hello, World' OBLIGATORY.
PARAMETERS pv_lang1 TYPE languageiso DEFAULT 'EN' OBLIGATORY.
PARAMETERS pv_lang2 TYPE languageiso DEFAULT 'ES' OBLIGATORY.
TRY.
DATA(go_session) = /aws1/cl_rt_session_aws=>create( 'DEMO' ).
DATA(go_xl8) = /aws1/cl_xl8_factory=>create( go_session ).
DATA(lo_output) = go_xl8->translatetext(
iv_text = pv_text
iv_sourcelanguagecode = CONV /aws1/xl8languagecodestring( pv_lang1 )
iv_targetlanguagecode = CONV /aws1/xl8languagecodestring( pv_lang2 )
).
WRITE: / 'Source Phrase: ', pv_text.
WRITE: / 'Target Phrase: ', lo_output->get_translatedtext( ).
CATCH /aws1/cx_xl8unsuppedlanguage00 INTO DATA(lo_lang).
WRITE: / 'ERROR' COLOR COL_NEGATIVE,
'Cannot translate from',
lo_lang->sourcelanguagecode,
'to',
lo_lang->targetlanguagecode.
CATCH cx_root INTO DATA(lo_root).
WRITE: / 'ERROR' COLOR COL_NEGATIVE, lo_root->get_text( ).
ENDTRY.
- SDK for SAP ABAP - BTP edition
-
-
Haga clic con el botón derecho en el paquete en el que desee crear la ABAP clase y, a continuación, seleccione Nuevo > ABAPclase.
-
Introduzca ZCL_DEMO_XL8_SIMPLE
el nombre de la clase y añada una descripción de la clase. Seleccione Siguiente.
-
Cree o elija una solicitud de transporte. Selecciona Finalizar.
Añada el código siguiente.
CLASS zcl_demo_xl8_simple DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
INTERFACES if_oo_adt_classrun.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS zcl_demo_xl8_simple IMPLEMENTATION.
METHOD if_oo_adt_classrun~main.
TRY.
" input parameters
DATA(pv_text) = |Hello, World|.
DATA(pv_lang1) = |EN|.
DATA(pv_lang2) = |ES|.
DATA(go_session) = /aws1/cl_rt_session_aws=>create( 'DEMO' ).
DATA(go_xl8) = /aws1/cl_xl8_factory=>create( go_session ).
DATA(lo_output) = go_xl8->translatetext(
iv_text = pv_text
iv_sourcelanguagecode = pv_lang1
iv_targetlanguagecode = pv_lang2
).
out->write( |Source Phrase: { pv_text }| ).
out->write( |Target Phrase: { lo_output->get_translatedtext( ) }| ).
CATCH /aws1/cx_xl8unsuppedlanguage00 INTO DATA(lo_lang).
out->write( |ERROR - Cannot translate from { lo_lang->sourcelanguagecode } to { lo_lang->targetlanguagecode }| ).
CATCH cx_root INTO DATA(lo_root).
out->write( |ERROR - { lo_root->get_text( ) }| ).
ENDTRY.
ENDMETHOD.
ENDCLASS.
Para obtener más información sobre cómo escribir ABAP código que utilice elSDK, consulte Uso AWS SDK para SAP ABAP.
Paso 7: ejecuta la aplicación
Consulte las siguientes pestañas para obtener más información.
- SDK for SAP ABAP
-
Ejecute la aplicación en SE38
. Si la operación se realiza correctamente, el resultado será el siguiente.
Source Phrase: Hello, World
Target Phrase: Hola, mundo
Si faltan autorizaciones, la configuración o los requisitos previos de Basis, es posible que aparezca un mensaje de error. Consulte el siguiente ejemplo.
ERROR Could not find configuration under profile DEMO with
scenario DEFAULT for SBX:001
Si su SAP función le autoriza a usar un SDK perfil y asignarlo a una IAM función lógica mientras sus IAM permisos no están configurados para que el SAP sistema asuma la IAM función, el resultado será el siguiente.
ERROR Could not assume role arn:aws:iam::111122223333:role/SapDemoTranslate
En este caso, revise sus IAM permisos y la configuración de confianza en los IAM roles, los usuarios o ambos definidos enPaso 1: Prepara tu cuenta AWS.
- SDK for SAP ABAP - BTP edition
-
Ejecute la aplicación en Eclipse > Ejecutar como > ABAPAplicación (consola). Si la operación se realiza correctamente, el resultado será el siguiente.
Source Phrase: Hello, World
Target Phrase: Hola, mundo
Si faltan autorizaciones, la configuración o los requisitos previos de Basis, es posible que aparezca un mensaje de error. Consulte el siguiente ejemplo.
ERROR Could not find configuration under profile DEMO with
scenario DEFAULT for SBX:001
Si su SAP función le autoriza a usar un SDK perfil y asignarlo a una IAM función lógica mientras sus IAM permisos no están configurados para que el SAP sistema asuma la IAM función, el resultado será el siguiente.
ERROR Could not assume role arn:aws:iam::111122223333:role/SapDemoTranslate
En este caso, revise sus IAM permisos y la configuración de confianza en los IAM roles, los usuarios o ambos definidos enPaso 1: Prepara tu cuenta AWS.