Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Nozioni di base su AWS SDK per SAP ABAP
Questa sezione descrive come iniziare a usare l'SDK. Include informazioni sull'installazione dell'SDK, sull'esecuzione della configurazione di base e sulla creazione di un esempio di codice Hello World che traduca una frase da una lingua all'altra. Se non conosci l' AWS SDK, ti consigliamo di eseguire questi passaggi in un ambiente sandbox.
Registrati per un Account AWS
Per iniziare AWS, hai bisogno di un Account AWS. Per informazioni sulla creazione di un Account AWS, vedere Guida introduttiva a Account AWS nella Guida Gestione dell’account AWS di riferimento.
Fase 1: Prepara il tuo AWS account
Per iniziare a usare SDK for SAP ABAP, devi avere un file attivo. Account AWS È necessario un account Account AWS anche se il sistema SAP è ospitato in sede, su SAP Business Technology Platform (BTP) o presso un altro provider cloud.
Se il tuo sistema SAP è in esecuzione su AWS Cloud, effettuerai chiamate ai servizi del tuo. AWS
Account AWS
Ruolo IAM per gli utenti SAP
-
Crea un ruolo IAM con le istruzioni fornite nella Guida per l'AWS Identity and Access Management utente. Per ulteriori informazioni, consulta Creazione di un ruolo per delegare le autorizzazioni a un AWS servizio. Nota l'Amazon Resource Name (ARN) del ruolo IAM per un uso successivo.
-
Seleziona Amazon EC2 come caso d'uso.
-
Usa SapDemoTranslate come nome del ruolo.
-
Allega il TranslateReadOnly profilo al ruolo.
-
Il ruolo deve avere le seguenti entità per consentire al sistema SAP di assumere il ruolo. Sostituisci "111122223333" con il numero di account AWS
.
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sts:AssumeRole"
],
"Principal": {
"AWS": "111122223333"
}
}
]
}
Questo esempio mostra che qualsiasi responsabile di Account AWS
"111122223333" può assumere il ruolo. Si tratta di un'autorizzazione ampia adatta per la prova del concetto. È possibile utilizzare un principio più ristretto per la produzione, come negli esempi seguenti.
-
Un utente specifico, quando il sistema SAP utilizza uno dei seguenti:
-
SSF-encrypted credenziali da un sistema SAP locale
-
Credenziali dal servizio SAP Credential Store su ambiente SAP BTP, ABAP
-
Un ruolo specifico: quando il sistema SAP è su Amazon EC2 ed è presente un profilo di istanza.
-
Amazon EC2: quando il sistema SAP è su Amazon EC2 e non esiste un profilo di istanza.
Per ulteriori informazioni, consulta Best practice for IAM Security.
Autenticazione
L'autenticazione dipende da dove è ospitato il sistema SAP.
Abilitato AWS Cloud
Assicurati che l'istanza EC2 su cui è in esecuzione il tuo sistema SAP abbia un profilo di istanza con le seguenti autorizzazioni.
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::111122223333:role/SapDemoTranslate"
}
]
}
Aggiungi l'ARN che hai annotato nel passaggio precedente.
Questa autorizzazione consente al sistema SAP di assumere il SapDemoTranslate ruolo per conto dell'utente ABAP.
On-premises, SAP BTP o altro cloud
Se il tuo sistema SAP si trova in sede, su SAP BTP o su un altro cloud, utilizza i seguenti passaggi per stabilire una connessione per l'autenticazione utilizzando una chiave di accesso segreta.
-
Crea un utente IAM. Per ulteriori informazioni, consulta Creazione di utenti IAM (console).
-
Usa SapDemoSID come nome dell'utente IAM. SIDè l'ID di sistema del tuo sistema SAP.
-
Assegna SapDemoTranslate un ruolo a questo utente.
Conserva la access_key esecret_access_key. È necessario configurare queste credenziali nel sistema SAP.
Se il tuo sistema SAP si trova in sede, su SAP BTP o su un altro cloud, puoi autenticarti utilizzando una delle seguenti opzioni.
Passaggio 2: installare l'SDK
Consulta le seguenti schede per le istruzioni di installazione.
- SDK for SAP ABAP
-
Importa l'SDK per i trasporti SAP ABAP nel tuo sistema SAP. Puoi importare i trasporti in qualsiasi cliente. Per ulteriori informazioni, vedere Installazione dell'SDK per SAP ABAP.
- SDK for SAP ABAP - BTP edition
-
Installa l'SDK per SAP ABAP - edizione BTP utilizzando l'applicazione Deploy Product. Per ulteriori informazioni, vedere Installazione dell'SDK per SAP ABAP - edizione BTP.
Prima di configurare l'SDK, assicurati di disporre delle autorizzazioni richieste. Per ulteriori informazioni, consulta Autorizzazioni SAP.
Per le istruzioni di configurazione, consulta le seguenti schede.
- SDK for SAP ABAP
-
Esegui la /AWS1/IMG transazione per aprire la Guida all'implementazione di SDK for SAP ABAP. Per eseguire questa transazione, inserisci /n/AWS1/IMG nella barra dei comandi del tuo sistema SAP, quindi scegli Invio.
Completa le seguenti configurazioni.
-
Vai a Prerequisiti tecnici.
-
Vai a Impostazioni globali → Configura scenari.
-
Vai a Impostazioni globali → Impostazioni tecniche.
-
Vai a Runtime Settings → Log And Trace.
-
Seleziona Nuove voci.
-
Livello di traccia: Nessuna traccia.
-
Linee di scarico massime:100.
-
OPT-IN: Telemetria enh: Mantieni questo campo vuoto.
-
Seleziona Salva.
-
Vai a Runtime Settings → Active Scenario.
Prerequisiti per i sistemi On-Premises
Se il sistema SAP è in esecuzione in locale o in un altro cloud, le credenziali devono essere archiviate nel database SAP. Le credenziali sono crittografate utilizzando SAP SSF e richiedono una libreria crittografica configurata, come quella di SAP. CommonCryptoLib
I passaggi per configurare SSF for SDK for SAP ABAP sono descritti nella transazione. /AWS1/IMG
Il prerequisito precedente non si applica se il sistema SAP è in esecuzione su Amazon EC2. I sistemi SAP in esecuzione su Amazon EC2 recuperano credenziali a rotazione automatica di breve durata dai metadati dell'istanza Amazon EC2.
- SDK for SAP ABAP - BTP edition
-
Apri il tuo ambiente ABAP in un browser web e accedi all'applicazione Custom Business Configurations.
Completa le seguenti configurazioni.
Fase 4: Configurazione funzionale
Consulta le seguenti schede per le istruzioni di configurazione.
- SDK for SAP ABAP
-
Esegui la transazione /AWS1/IMG (inserisci /n/AWS1/IMG nella barra dei comandi e scegli Invio) per aprire la guida all'implementazione per AWS SDK.
-
Vai a Configurazione dell'applicazione → Profilo SDK.
-
Evidenzia la voce che hai creato e fai clic sul ramo della struttura Autenticazione e impostazioni.
-
Fai clic sul ramo dell'albero IAM Role Mapping.
-
Seleziona Nuove voci.
-
Inserite il numero di sequenza: 010.
-
Inserite il ruolo Logical IAM: TESTUSER.
-
Inserisci l'ARN del ruolo IAM: inserisci l'arn:aws: del ruolo IAM contenente la TranslateReadOnly policy creata nel passaggio precedente.
- SDK for SAP ABAP - BTP edition
-
Configura l'autenticazione utilizzando SAP Credential Store. Per ulteriori informazioni, vedere Utilizzo di SAP Credential Store.
Apri l'ambiente ABAP in un browser Web e accedi all'applicazione Custom Business Configurations.
-
Vai al profilo SDK.
-
Seleziona il tasto freccia destra accanto alla voce creata per accedere alla scheda Autenticazione e impostazioni.
Seleziona Nuove voci.
-
SID: l'ID di sistema del sistema SAP in cui ti trovi attualmente.
-
Cliente: il client del sistema SAP in cui ti trovi attualmente.
-
ID scenario: l'elenco a discesa in cui troverai lo scenario PREDEFINITO creato dal tuo amministratore di Basis.
-
AWS Regione: inserisci la AWS regione verso cui desideri effettuare chiamate. Se il tuo sistema SAP è in esecuzione AWS, inserisci la AWS regione in cui è in esecuzione.
-
Metodo di autenticazione: seleziona le credenziali dal SAP Credential Store.
-
Immettere il namespace e il nome della chiave delle credenziali archiviate in SAP Credentials Store.
-
Inserisci il nome dell'accordo di comunicazione creato per stabilire la comunicazione tra SDK per SAP ABAP - edizione BTP e SAP Credential Store.
-
Mantieni vuoti i ruoli Disable IAM.
-
Right-click premi il tasto freccia destra accanto alla voce creata per accedere alla scheda IAM Role Mapping.
Seleziona Nuove voci.
-
Inserite il numero di sequenza: 010.
-
Inserite il ruolo Logical IAM: TESTUSER.
-
Inserisci l'ARN del ruolo IAM: inserisci l'arn:aws: del ruolo IAM contenente la TranslateReadOnly policy creata nel passaggio precedente.
Fase 5: Autorizzazione degli utenti SAP
Per impostazione predefinita, gli utenti SAP non sono autorizzati a utilizzare AWS le funzionalità. Gli utenti devono essere autorizzati in modo esplicito utilizzando le autorizzazioni SAP. Per maggiori dettagli, consulta le seguenti schede.
- SDK for SAP ABAP
-
Crea un ruolo PFCG
Assegna il ruolo PFCG agli utenti SAP
Qualsiasi utente a cui è assegnato il ZAWS_SDK_DEMO_TESTUSER ruolo sarà autorizzato a utilizzare le funzioni AWS SDK con le impostazioni configurate nel profilo SDK. DEMO L'utente autorizzato assumerà inoltre il ruolo IAM mappato al ruolo IAM TESTUSER logico in quel profilo.
- SDK for SAP ABAP - BTP edition
-
Crea un ruolo aziendale
-
Aprite l'ambiente ABAP in un browser Web e accedete all'applicazione Maintain Business Roles.
-
Seleziona Crea da modello e inserisci i seguenti dettagli.
-
Modello: scegli/AWS1/RT_BTP_ENDUSER.
-
Nuovo ID del ruolo aziendale: inserisci un ID.
-
Descrizione del nuovo ruolo aziendale: immettere una descrizione.
-
Seleziona OK per visualizzare la pagina relativa al ruolo aziendale.
-
Nella scheda Dettagli generali del ruolo, vai a Accedere alle categorie e imposta il campo Write, Read, Value Help come Limitato.
-
Seleziona Mantieni restrizioni ed espandi Tipi di restrizione assegnati dal riquadro di navigazione a sinistra. Aggiorna il seguente campo nella sezione Restrizioni e valori.
-
In Scegli sessione SDK, seleziona l'icona a forma di matita accanto al profilo SDK e vai alla scheda Intervalli. Entra DEMO e seleziona Aggiungi.
-
In Scegli il ruolo logico IAM, seleziona l'icona a forma di matita accanto a Logical IAM Role e vai alla scheda Intervalli. Entra TESTUSER e seleziona Aggiungi.
Seleziona l'icona a forma di matita accanto a SDK Profile e vai alla scheda Intervalli. Entra DEMO e seleziona Aggiungi
-
Torna al modello di ruolo aziendale e apri la scheda Utenti aziendali. Seleziona Aggiungi per assegnare il ruolo aziendale appena creato a un utente aziendale SAP che testerà la funzionalità SDK. Seleziona Salva.
Qualsiasi utente aziendale assegnato al ruolo aziendale creato sarà autorizzato a utilizzare le funzioni AWS SDK con le impostazioni configurate nel DEMO profilo SDK. L'utente autorizzato assumerà inoltre il ruolo IAM mappato al ruolo IAM TESTUSER logico in quel profilo.
Fase 6: Scrivere il codice
Per maggiori dettagli, consulta le seguenti schede.
- SDK for SAP ABAP
-
-
Transazione aperta. SE38
-
Inserisci ZDEMO_TRANSLATE_HELLO_WORLD come nome del programma.
-
Seleziona Create.
-
Inserisci AWS SDK Hello World In Any Language come titolo.
-
Tipo: scegli Programma eseguibile.
-
Stato: scegli Programma di test.
-
Seleziona Salva.
-
Salva il programma come oggetto locale.
Aggiungere il codice seguente.
*&---------------------------------------------------------------------*
*& 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
-
-
Right-click sul pacchetto in cui deve essere creata la classe ABAP, quindi seleziona Nuovo > Classe ABAP.
-
Inserite ZCL_DEMO_XL8_SIMPLE il nome della classe e aggiungete una descrizione della classe. Seleziona Avanti.
-
Crea o scegli una richiesta di trasporto. Seleziona Fine.
Aggiungi il codice seguente.
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.
Per dettagli su come scrivere codice ABAP che utilizza l'SDK, vedi Utilizzo. AWS SDK per SAP ABAP
Fase 7: Eseguire l'applicazione
Per maggiori dettagli, consulta le seguenti schede.
- SDK for SAP ABAP
-
Esegui l'applicazione inSE38. In caso di successo, il risultato sarà il seguente.
Source Phrase: Hello, World
Target Phrase: Hola, mundo
Se mancano le autorizzazioni, la configurazione o i prerequisiti di base, potresti ricevere un messaggio di errore. Guarda l'esempio seguente.
ERROR Could not find configuration under profile DEMO with
scenario DEFAULT for SBX:001
Se il tuo ruolo SAP ti autorizza a utilizzare un profilo SDK e a mapparlo su un ruolo IAM logico mentre le tue autorizzazioni IAM non sono configurate per consentire al sistema SAP di assumere il ruolo IAM, il risultato sarà quanto segue.
ERROR Could not assume role arn:aws:iam::111122223333:role/SapDemoTranslate
In questo caso, rivedi le autorizzazioni IAM e la configurazione di trust sui ruoli IAM, sugli utenti o su entrambi definiti in. Fase 1: Prepara il tuo AWS account
- SDK for SAP ABAP - BTP edition
-
Esegui l'applicazione su Eclipse > Esegui come > Applicazione ABAP (console). In caso di successo, il risultato sarà il seguente.
Source Phrase: Hello, World
Target Phrase: Hola, mundo
Se mancano le autorizzazioni, la configurazione o i prerequisiti di base, potresti ricevere un messaggio di errore. Guarda l'esempio seguente.
ERROR Could not find configuration under profile DEMO with
scenario DEFAULT for SBX:001
Se il tuo ruolo SAP ti autorizza a utilizzare un profilo SDK e a mapparlo su un ruolo IAM logico mentre le tue autorizzazioni IAM non sono configurate per consentire al sistema SAP di assumere il ruolo IAM, il risultato sarà quanto segue.
ERROR Could not assume role arn:aws:iam::111122223333:role/SapDemoTranslate
In questo caso, rivedi le autorizzazioni IAM e la configurazione di trust sui ruoli IAM, sugli utenti o su entrambi definiti in. Fase 1: Prepara il tuo AWS account