View a markdown version of this page

Nozioni di base su AWS SDK per SAP ABAP - AWS SDK per SAP ABAP

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.

  1. Crea un utente IAM. Per ulteriori informazioni, consulta Creazione di utenti IAM (console).

  2. Usa SapDemoSID come nome dell'utente IAM. SIDè l'ID di sistema del tuo sistema SAP.

  3. Assegna SapDemoTranslate un ruolo a questo utente.

Conserva la access_key esecret_access_key. È necessario configurare queste credenziali nel sistema SAP.

Nota

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.

Fase 3: Configurare l'SDK

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.

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

Nota

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.

  • Vai a Configurare gli scenari.

    • Modifica le impostazioni, in base ai consigli in Impostazioni globali.

  • Vai a Impostazioni tecniche.

    • Modifica le impostazioni, in base ai consigli in Impostazioni globali.

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.

    • Seleziona Nuove voci.

      • Profilo:DEMO.

      • Descrizione:Demo profile.

      • Seleziona Salva.

  • Evidenzia la voce che hai creato e fai clic sul ramo della struttura 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 il ruolo dell'istanza tramite metadati se il tuo sistema SAP è in esecuzione su Amazon EC2.

        • Seleziona Credentials from SSF Storage se il tuo sistema SAP è in esecuzione in locale o in un altro cloud.

          • Seleziona Imposta credenziali.

          • Inserisci l'ID della chiave di accesso e la chiave di accesso segreta che hai creato nel passaggio precedente.

    • Mantieni vuoti i ruoli Disable IAM.

    • Seleziona Salva.

  • 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 Modifica per creare un nuovo profilo.

      • Profilo:DEMO.

      • Descrizione:Demo profile.

  • 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

  • Vai alla transazione PFCG

  • Inserisci il nome del ruolo ZAWS_SDK_DEMO_TESTUSER e seleziona Crea ruolo singolo.

    • Descrizione:Role for demo AWS SDK functionality.

    • Vai alla scheda Autorizzazioni.

    • Seleziona Modifica dati di autorizzazione e accetta il pop-up informativo.

    • Nel popup Scegli modello, seleziona Non selezionare modelli.

    • Seleziona Aggiungi manualmente dalla barra degli strumenti.

    • Aggiungete i seguenti oggetti di autorizzazione:

      • /AWS1/LROL

      • /AWS1/SESS

    • Nell'albero delle autorizzazioni, inserisci:

      • Profilo per l'accesso alle API AWS: DEMO

      • Ruolo IAM logico: TESTUSER

    • Seleziona Salva.

    • Seleziona Genera.

    • Seleziona Indietro.

    • Seleziona Salva per salvare il ruolo.

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.

  • Esegui transazione. SU01

    • Inserisci l'ID utente di un utente SAP che testerà la funzionalità AWS SDK.

    • Seleziona Cambia.

    • Vai alla scheda Ruoli e assegna il ZAWS_SDK_DEMO_TESTUSER ruolo all'utente.

    • Seleziona Salva.

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
  1. 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
  1. Right-click sul pacchetto in cui deve essere creata la classe ABAP, quindi seleziona Nuovo > Classe ABAP.

  2. Inserite ZCL_DEMO_XL8_SIMPLE il nome della classe e aggiungete una descrizione della classe. Seleziona Avanti.

  3. 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