As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Começando com SDK da AWS para SAP ABAP
Esta seção descreve como começar a usar SDK o. Ele inclui informações sobre como instalar oSDK, realizar a configuração básica e criar um exemplo de código Hello World que traduz uma frase de um idioma para outro. Se você é novato AWS SDK, recomendamos realizar essas etapas em um ambiente sandbox.
Etapa 1: Prepare sua AWS conta
Para começar a usar SDK o for SAPABAP, você deve ter um ativo Conta da AWS . Você precisa de um, Conta da AWS mesmo que seu SAP sistema esteja hospedado localmente, na SAP Business Technology Platform (BTP) ou com outro provedor de nuvem.
Se o seu SAP sistema estiver sendo executado na AWS nuvem, você fará chamadas para AWS
serviços no seu Conta da AWS.
IAMfunção para SAP usuários
-
Crie uma IAM função com as instruções fornecidas no Guia do AWS Identity and Access Management usuário. Para obter mais informações, consulte Criação de uma função para delegar permissões a um AWS serviço. Anote o Amazon Resource Name (ARN) da IAM função para uso posterior.
-
Selecione Amazon EC2 como caso de uso.
-
Use SapDemoTranslate
como nome do perfil.
-
Anexe o perfil TranslateReadOnly
ao perfil.
-
A função deve ter as seguintes entidades para permitir que o SAP sistema assuma a função. Substitua "111122223333"
pelo número da sua conta da AWS
.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sts:AssumeRole"
],
"Principal": { "AWS": "111122223333"
}
}
]
}
Este exemplo mostra que qualquer diretor da Conta da AWS
"111122223333"
pode assumir a função. Essa é uma permissão ampla que é adequada para proof-of-concept. Você pode usar uma entidade principal mais restrito para produção, como nos exemplos a seguir.
-
Um usuário específico — quando o SAP sistema está usando um dos seguintes:
-
SSF-credenciais criptografadas de um sistema local SAP
-
Credenciais do serviço SAP Credential Store em SAPBTP, ambiente ABAP
-
Uma função específica — quando o SAP sistema está na Amazon EC2 e há um perfil de instância.
-
Amazon EC2 — quando o SAP sistema está na Amazon EC2 e não há perfil de instância.
Para obter mais informações, consulte Melhores práticas de IAM segurança.
Autenticação
A autenticação depende de onde seu SAP sistema está hospedado.
Na AWS nuvem
Certifique-se de que a EC2 instância na qual seu SAP sistema está sendo executado tenha um perfil de instância com as seguintes permissões.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::111122223333:role/SapDemoTranslate"
}
]
}
Adicione o ARN que você anotou na etapa anterior.
Essa permissão permite que seu SAP sistema assuma a SapDemoTranslate
função em nome do ABAP usuário.
No local SAP BTP ou em outra nuvem
Se seu SAP sistema estiver localizado no local, em SAP BTP ou em outra nuvem, use as etapas a seguir para estabelecer uma conexão para autenticação usando a chave de acesso secreta.
-
Criar um usuário do IAM. Para obter mais informações, consulte Criação de IAM usuários (console).
-
Use SapDemoSID
como nome do IAM usuário. SID
é o ID do sistema do seu SAP sistema.
-
Atribua um perfil SapDemoTranslate
a esse usuário.
Guarde a access_key
mãosecret_access_key
. Você deve configurar essas credenciais em seu SAP sistema.
Se seu SAP sistema estiver localizado no local, em SAP BTP ou em outra nuvem, você poderá se autenticar usando uma das opções a seguir.
Etapa 2: instalar a SDK
Consulte as guias a seguir para obter instruções de instalação.
- SDK for SAP ABAP
-
Importe SDK para SAP ABAP transportes em seu SAP sistema. Você pode importar os transportes para qualquer cliente. Para obter mais informações, consulte Instalando SDK para SAP ABAP.
- SDK for SAP ABAP - BTP edition
-
Instale SDK para SAP ABAP BTP edição usando o aplicativo Deploy Product. Para obter mais informações, consulte Instalando SDK para SAP ABAP - BTP edição.
Antes de configurar oSDK, verifique se você tem as autorizações necessárias. Para obter mais informações, consulte SAPautorizações.
Consulte as guias a seguir para obter instruções de configuração.
- SDK for SAP ABAP
-
Execute a /AWS1/IMG
transação para abrir o Guia de Implementação do SDK for SAPABAP. Para executar essa transação, insira /n/AWS1/IMG
na barra de comando do seu SAP sistema e escolha Enter.
Conclua as configurações a seguir.
-
Acesse Pré-requisitos técnicos.
-
Vá para Configurações globais → Configurar cenários.
-
Vá para Configurações globais → Configurações técnicas.
-
Vá para Configurações de runtime → Registrar e rastrear.
-
Vá para Configurações de runtime → Cenário ativo.
Pré-requisitos para sistemas on-premises
Se seu SAP sistema estiver sendo executado localmente ou em outra nuvem, as credenciais deverão ser armazenadas no seu SAP banco de dados. As credenciais são criptografadas usando SAP SSF e exigem uma biblioteca criptográfica configurada, como SAP a de. CommonCryptoLib
As etapas de configuração do SSF SDK for SAP ABAP estão descritas na /AWS1/IMG
transação.
O pré-requisito anterior não se aplica se seu SAP sistema estiver sendo executado na Amazon. EC2 SAPos sistemas em execução na Amazon EC2 recuperam credenciais de curta duração e rotatividade automática dos metadados da instância da Amazon. EC2
- SDK for SAP ABAP - BTP edition
-
Abra seu ABAP ambiente em um navegador da Web e navegue até o aplicativo Custom Business Configurations.
Conclua as configurações a seguir.
Etapa 4: configuração funcional
Consulte as guias a seguir para obter instruções de configuração.
- SDK for SAP ABAP
-
Execute a transação /AWS1/IMG
(insira /n/AWS1/IMG
na barra de comando e escolha Enter) para abrir o guia de implementação do AWS SDK.
-
Vá para Configuração do aplicativo → SDKPerfil.
-
Destaque a entrada que você criou e clique na ramificação de árvore Autenticação e Configurações.
-
Clique na ramificação da árvore do IAMRole Mapping.
- SDK for SAP ABAP - BTP edition
-
Configure a autenticação usando o SAP Credential Store. Para obter mais informações, consulte Usando o SAP Credential Store.
Abra seu ABAP ambiente em um navegador da Web e navegue até o aplicativo Custom Business Configurations.
-
Vá para SDKPerfil.
-
Selecione a tecla de seta para a direita ao lado da entrada criada para navegar até a guia Autenticação e Configurações.
Selecione Novas entradas.
-
SID: o ID do SAP sistema em que você está atualmente.
-
Cliente: O cliente do SAP sistema em que você está atualmente.
-
ID do cenário: a lista suspensa onde você encontrará o DEFAULT cenário criado pelo administrador do Basis.
-
AWS Região: insira a AWS região para a qual você deseja fazer chamadas. Se o SAP sistema estiver sendo executado AWS, insira a AWS região em que ele está sendo executado.
-
Método de autenticação: selecione Credenciais no SAP Credential Store.
-
Insira o namespace e o nome da chave das credenciais armazenadas no SAP Credentials Store.
-
Insira o nome do Acordo de Comunicação criado para estabelecer a comunicação entre SDK for SAP ABAP - BTP edition e o SAP Credential Store.
-
Mantenha a opção Desativar IAM funções em branco.
-
Clique com o botão direito do mouse na tecla de seta direita ao lado da entrada criada para navegar até a guia Mapeamento de IAM funções.
Selecione Novas entradas.
-
Insira o número de sequência: 010.
-
Insira a IAMfunção lógica:TESTUSER.
-
Insira a IAMfunção ARN: insira o arn:aws: da IAM função que contém a TranslateReadOnly
política criada na etapa anterior.
Etapa 5: Autorizar usuários SAP
SAPos usuários não estão autorizados a usar a AWS funcionalidade por padrão. Os usuários devem ser explicitamente autorizados usando SAP autorizações. Consulte as guias a seguir para obter mais detalhes.
- SDK for SAP ABAP
-
Crie uma PFCG função
Atribuir a PFCG função aos SAP usuários
Qualquer usuário que tenha a ZAWS_SDK_DEMO_TESTUSER
função atribuída será autorizado a usar AWS SDK funções com as configurações definidas no DEMO
SDK perfil. O usuário autorizado também assumirá a IAM função mapeada para a IAM função TESTUSER
lógica nesse perfil.
- SDK for SAP ABAP - BTP edition
-
Crie uma função comercial
-
Abra seu ABAP ambiente em um navegador da Web e navegue até o aplicativo Maintain Business Roles.
-
Selecione Criar a partir do modelo e insira os detalhes a seguir.
-
Modelo — Escolha/AWS1/RT_BTP_ENDUSER
.
-
Nova ID da função comercial — insira uma ID.
-
Descrição da nova função comercial — insira uma descrição.
-
Selecione OK para ver a página da função comercial.
-
Na guia Detalhes gerais da função, acesse Categorias de acesso e defina o campo Ajuda para gravação, leitura e valor como Restrito.
-
Selecione Manter restrições e expanda Tipos de restrição atribuídos no painel de navegação esquerdo. Atualize o campo a seguir na seção Restrições e valores.
-
Em Escolher SDK sessão, selecione o ícone de lápis ao lado de SDKPerfil e navegue até a guia Intervalos. Digite DEMO
e selecione Adicionar.
-
Em Escolher IAM função lógica, selecione o ícone de lápis ao lado de IAMFunção lógica e navegue até a guia Intervalos. Digite TESTUSER
e selecione Adicionar.
Selecione o ícone de lápis ao lado SDKde Perfil e navegue até a guia Intervalos. Digite DEMO
e selecione Adicionar
-
Navegue de volta até o modelo de Função Comercial e abra a guia Usuários Comerciais. Selecione Adicionar para atribuir a função comercial recém-criada a um usuário SAP comercial que testará a SDK funcionalidade. Selecione Save (Salvar).
Qualquer usuário comercial atribuído à função comercial criada será autorizado a usar AWS SDK funções com as configurações definidas no DEMO
SDK perfil. O usuário autorizado também assumirá a IAM função mapeada para a IAM função TESTUSER
lógica nesse perfil.
Etapa 6: escrever o código
Consulte as guias a seguir para obter mais detalhes.
- SDK for SAP ABAP
-
-
Encerrar transação SE38
.
-
Insira ZDEMO_TRANSLATE_HELLO_WORLD
como nome do programa.
-
Selecione Create
.
-
Insira AWS SDK Hello World In Any Language
como título.
-
Tipo: escolha Programa executável.
-
Status: escolha Programa de teste.
-
Selecione Save (Salvar).
-
Salve o programa como um objeto local.
Adicione o seguinte código.
*&---------------------------------------------------------------------*
*& 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
-
-
Clique com o botão direito do mouse no pacote em que a ABAP classe precisa ser criada e selecione Novo > ABAPclasse.
-
Insira ZCL_DEMO_XL8_SIMPLE
o nome da classe e adicione uma descrição da classe. Escolha Próximo.
-
Crie ou escolha uma solicitação de transporte. Selecione Concluir.
Adicione o seguinte código.
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 obter detalhes sobre como escrever ABAP código que usa oSDK, consulte Usando SDK da AWS para SAP ABAP.
Etapa 7: executar o aplicativo
Consulte as guias a seguir para obter mais detalhes.
- SDK for SAP ABAP
-
Execute o aplicativo no SE38
. Se for bem-sucedido, o seguinte será o resultado.
Source Phrase: Hello, World
Target Phrase: Hola, mundo
Se você não tiver autorizações, configurações ou pré-requisitos básicos, poderá receber uma mensagem de erro. Veja o exemplo a seguir.
ERROR Could not find configuration under profile DEMO with
scenario DEFAULT for SBX:001
Se sua SAP função autorizar você a usar um SDK perfil e mapeá-lo para uma IAM função lógica enquanto suas IAM permissões não estiverem configuradas para que o SAP sistema assuma a IAM função, o seguinte será seu resultado.
ERROR Could not assume role arn:aws:iam::111122223333:role/SapDemoTranslate
Nesse caso, revise suas IAM permissões e configuração de confiança nas IAM funções, nos usuários ou em ambos definidos emEtapa 1: Prepare sua AWS conta.
- SDK for SAP ABAP - BTP edition
-
Execute o aplicativo no Eclipse > Executar como > ABAPAplicativo (Console). Se for bem-sucedido, o seguinte será o resultado.
Source Phrase: Hello, World
Target Phrase: Hola, mundo
Se você não tiver autorizações, configurações ou pré-requisitos básicos, poderá receber uma mensagem de erro. Veja o exemplo a seguir.
ERROR Could not find configuration under profile DEMO with
scenario DEFAULT for SBX:001
Se sua SAP função autorizar você a usar um SDK perfil e mapeá-lo para uma IAM função lógica enquanto suas IAM permissões não estiverem configuradas para que o SAP sistema assuma a IAM função, o seguinte será seu resultado.
ERROR Could not assume role arn:aws:iam::111122223333:role/SapDemoTranslate
Nesse caso, revise suas IAM permissões e configuração de confiança nas IAM funções, nos usuários ou em ambos definidos emEtapa 1: Prepare sua AWS conta.