Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erste Schritte mit AWS SDK für SAP ABAP
In diesem Abschnitt wird beschrieben, wie Sie mit dem beginnenSDK. Er enthält Informationen zur Installation vonSDK, zur Durchführung der Grundkonfiguration und zur Erstellung eines Hello World-Codebeispiels, das eine Phrase von einer Sprache in eine andere übersetzt. Wenn Sie noch nicht damit vertraut sind AWS SDK, empfehlen wir, diese Schritte in einer Sandbox-Umgebung durchzuführen.
Schritt 1: Bereiten Sie Ihr AWS Konto vor
Um mit SDK for beginnen zu können SAPABAP, müssen Sie über ein aktives Konto verfügen AWS-Konto . Sie benötigen ein Event, AWS-Konto wenn Ihr SAP System vor Ort, auf der SAP Business Technology Platform (BTP) oder bei einem anderen Cloud-Anbieter gehostet wird.
Wenn Ihr SAP System in der AWS Cloud läuft, rufen Sie AWS
Dienste in Ihrem AWS-Konto an.
IAMRolle für SAP Benutzer
-
Erstellen Sie eine IAM Rolle anhand der Anweisungen im AWS Identity and Access Management Benutzerhandbuch. Weitere Informationen finden Sie unter Eine Rolle erstellen, um Berechtigungen an einen AWS Dienst zu delegieren. Notieren Sie sich den Amazon-Ressourcennamen (ARN) der IAM Rolle für die spätere Verwendung.
-
Wählen Sie Amazon EC2 als Anwendungsfall aus.
-
Verwenden Sie es SapDemoTranslate
als Namen der Rolle.
-
Hängen Sie das TranslateReadOnly
Profil an die Rolle an.
-
Die Rolle muss über die folgenden Entitäten verfügen, damit das SAP System die Rolle übernehmen kann. Ersetzen Sie "111122223333"
durch Ihre AWS
-Kontonummer.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sts:AssumeRole"
],
"Principal": { "AWS": "111122223333"
}
}
]
}
Dieses Beispiel zeigt, dass jeder Principal von die Rolle übernehmen AWS-Konto
"111122223333"
kann. Dies ist eine umfassende Genehmigung, die für geeignet ist proof-of-concept. Sie können für die Produktion ein engeres Prinzip verwenden, z. B. in den folgenden Beispielen.
-
Ein bestimmter Benutzer — wenn das SAP System eine der folgenden Optionen verwendet:
-
SSF-verschlüsselte Anmeldeinformationen von einem lokalen System SAP
-
Anmeldeinformationen vom SAP Credential Store-Dienst auf, Umgebung SAP BTP ABAP
-
Eine bestimmte Rolle — wenn sich das SAP System bei Amazon befindet EC2 und es ein Instanzprofil gibt.
-
Amazon EC2 — wenn das SAP System bei Amazon ist EC2 und es kein Instanzprofil gibt.
Weitere Informationen finden Sie unter Bewährte IAM Sicherheitsmethoden.
Authentifizierung
Die Authentifizierung hängt davon ab, wo Ihr SAP System gehostet wird.
In der AWS Cloud
Stellen Sie sicher, dass die EC2 Instanz, auf der Ihr SAP System läuft, über ein Instanzprofil mit den folgenden Berechtigungen verfügt.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::111122223333:role/SapDemoTranslate"
}
]
}
Fügen Sie ARN das hinzu, was Sie im vorherigen Schritt notiert haben.
Diese Berechtigung ermöglicht es Ihrem SAP System, die SapDemoTranslate
Rolle im Namen des ABAP Benutzers zu übernehmen.
Lokal SAP BTP oder in einer anderen Cloud
Wenn sich Ihr SAP System vor Ort, in SAP BTP oder in einer anderen Cloud befindet, gehen Sie wie folgt vor, um eine Verbindung für die Authentifizierung mithilfe eines geheimen Zugriffsschlüssels herzustellen.
-
Erstellen eines IAM-Benutzers Weitere Informationen finden Sie unter IAMBenutzer erstellen (Konsole).
-
Verwenden Sie es SapDemoSID
als Namen des IAM Benutzers. SID
ist die System-ID Ihres SAP Systems.
-
Weisen Sie diesem Benutzer SapDemoTranslate
eine Rolle zu.
Behalten Sie das access_key
und beisecret_access_key
. Sie müssen diese Anmeldeinformationen in Ihrem SAP System konfigurieren.
Wenn sich Ihr SAP System vor Ort, in SAP BTP oder in einer anderen Cloud befindet, können Sie sich mit einer der folgenden Optionen authentifizieren.
Schritt 2: Installieren der SDK
Installationsanweisungen finden Sie auf den folgenden Registerkarten.
- SDK for SAP ABAP
-
Import SDK für SAP ABAP Transporte in Ihrem SAP System. Sie können die Transporte in jeden Client importieren. Weitere Informationen finden Sie unter Installation SDK für SAP ABAP.
- SDK for SAP ABAP - BTP edition
-
Installieren Sie SDK die SAP ABAP BTP For-Edition mithilfe der Deploy Product-Anwendung. Weitere Informationen finden Sie unter Installation SDK für SAP ABAP — BTP Edition.
Stellen Sie vor der Konfiguration von sicherSDK, dass Sie über die erforderlichen Berechtigungen verfügen. Weitere Informationen finden Sie unter SAPAutorisierungen.
Anweisungen zur Konfiguration finden Sie auf den folgenden Registerkarten.
- SDK for SAP ABAP
-
Führen Sie die /AWS1/IMG
Transaktion aus, um den Implementierungsleitfaden SDK für zu öffnen SAPABAP. Um diese Transaktion auszuführen, geben Sie /n/AWS1/IMG
in der Befehlsleiste Ihres SAP Systems den Text ein, und wählen Sie dann Enter.
Vervollständigen Sie die folgenden Konfigurationen.
-
Gehen Sie zu den technischen Voraussetzungen.
-
Gehen Sie zu Allgemeine Einstellungen → Szenarien konfigurieren.
-
Gehen Sie zu Allgemeine Einstellungen → Technische Einstellungen.
-
Gehen Sie zu Runtime Settings → Log And Trace.
-
Gehen Sie zu Laufzeiteinstellungen → Aktives Szenario.
-
Wählen Sie unter Neues Szenario die Option ausDEFAULT
.
-
Wählen Sie Szenarioänderung übernehmen aus.
-
Akzeptieren Sie die Aufforderung.
Voraussetzungen für lokale Systeme
Wenn Ihr SAP System lokal oder in einer anderen Cloud ausgeführt wird, müssen die Anmeldeinformationen in Ihrer SAP Datenbank gespeichert werden. Die Anmeldeinformationen werden mithilfe einer konfigurierten kryptografischen Bibliothek verschlüsselt SAP SSF und erfordern eine solche. SAP CommonCryptoLib
Die Schritte zur Konfiguration von SSF SDK for SAP ABAP sind in der /AWS1/IMG
Transaktion beschrieben.
Die oben genannte Voraussetzung gilt nicht, wenn Ihr SAP System bei Amazon läuftEC2. SAPSysteme, die auf Amazon laufen, EC2 rufen kurzlebige, automatisch rotierende Anmeldeinformationen aus den EC2 Amazon-Instance-Metadaten ab.
- SDK for SAP ABAP - BTP edition
-
Öffnen Sie Ihre ABAP Umgebung in einem Webbrowser und navigieren Sie zur Anwendung Custom Business Configurations.
Vervollständigen Sie die folgenden Konfigurationen.
Schritt 4: Funktionaler Aufbau
Anweisungen zur Einrichtung finden Sie auf den folgenden Tabs.
- SDK for SAP ABAP
-
Führen Sie die Transaktion aus /AWS1/IMG
(geben Sie /n/AWS1/IMG
in die Befehlsleiste ein und wählen Sie Enter), um den Implementierungsleitfaden für zu öffnen AWS SDK.
-
Gehen Sie zu Anwendungskonfiguration → SDKProfil.
-
Markieren Sie den Eintrag, den Sie erstellt haben, und klicken Sie auf den Baumzweig Authentifizierung und Einstellungen.
-
Klicken Sie auf den Baumzweig IAMRollenzuweisung.
- SDK for SAP ABAP - BTP edition
-
Richten Sie die Authentifizierung mithilfe des SAP Credential Store ein. Weitere Informationen finden Sie unter SAPCredential Store verwenden.
Öffnen Sie Ihre ABAP Umgebung in einem Webbrowser und navigieren Sie zur Anwendung Custom Business Configurations.
-
Gehen Sie zu SDKProfil.
-
Wählen Sie die Rechtspfeiltaste neben dem erstellten Eintrag, um zur Registerkarte Authentifizierung und Einstellungen zu navigieren.
Wählen Sie Neue Einträge aus.
-
SID: Die System-ID des SAP Systems, in dem Sie sich gerade befinden.
-
Client: Der Client des SAP Systems, in dem Sie sich gerade befinden.
-
Szenario-ID: Die Drop-down-Liste, in der Sie das von Ihrem Basis-Administrator erstellte DEFAULT Szenario finden.
-
AWS Region: Geben Sie die AWS Region ein, in die Sie Anrufe tätigen möchten. Wenn Ihr SAP System läuft AWS, geben Sie die AWS Region ein, in der es läuft.
-
Authentifizierungsmethode: Wählen Sie Anmeldeinformationen aus dem SAP Anmeldeinformationsspeicher aus.
-
Geben Sie den Namespace und den Schlüsselnamen der im Credentials Store gespeicherten SAP Anmeldeinformationen ein.
-
Geben Sie den Namen der Kommunikationsvereinbarung ein, die erstellt wurde, um die Kommunikation zwischen SDK for SAP ABAP - BTP Edition und SAP Credential Store herzustellen.
-
Lassen Sie das Feld IAM Rollen deaktivieren leer.
-
Klicken Sie mit der rechten Maustaste auf den Rechtspfeil neben dem erstellten Eintrag, um zur Registerkarte IAMRollenzuweisung zu navigieren.
Wählen Sie Neue Einträge aus.
-
Geben Sie die Sequenznummer ein: 010.
-
Geben Sie die logische IAM Rolle ein:TESTUSER.
-
Geben Sie IAMRolle einARN: geben Sie arn:aws: der IAM Rolle ein, die die im vorherigen Schritt erstellte TranslateReadOnly
Richtlinie enthält.
Schritt 5: Benutzer autorisieren SAP
SAPBenutzer sind standardmäßig nicht berechtigt, AWS Funktionen zu verwenden. Die Benutzer müssen explizit mithilfe von SAP Autorisierungen autorisiert werden. Weitere Informationen finden Sie auf den folgenden Registerkarten.
- SDK for SAP ABAP
-
Erstellen Sie eine PFCG Rolle
Weisen Sie die PFCG Rolle SAP Benutzern zu
Jeder Benutzer, dem die ZAWS_SDK_DEMO_TESTUSER
Rolle zugewiesen wurde, ist berechtigt, AWS SDK Funktionen mit den im DEMO
SDK Profil konfigurierten Einstellungen zu verwenden. Der autorisierte Benutzer übernimmt auch die IAM Rolle, die der TESTUSER
logischen IAM Rolle in diesem Profil zugeordnet ist.
- SDK for SAP ABAP - BTP edition
-
Erstellen Sie eine Geschäftsrolle
-
Öffnen Sie Ihre ABAP Umgebung in einem Webbrowser und navigieren Sie zur Anwendung Maintain Business Roles.
-
Wählen Sie „Aus Vorlage erstellen“ und geben Sie die folgenden Details ein.
-
Vorlage — Wählen Sie/AWS1/RT_BTP_ENDUSER
.
-
Neue Geschäftsrollen-ID — Geben Sie eine ID ein.
-
Beschreibung der neuen Geschäftsrolle — Geben Sie eine Beschreibung ein.
-
Wählen Sie OK aus, um die Seite für die Geschäftsrolle aufzurufen.
-
Gehen Sie auf der Registerkarte Allgemeine Rollendetails zu Zugriffskategorien und legen Sie für das Feld Hilfe zum Schreiben, Lesen und Werten die Option Eingeschränkt fest.
-
Wählen Sie Einschränkungen beibehalten aus und erweitern Sie im linken Navigationsbereich die Option Zugewiesene Einschränkungstypen. Aktualisieren Sie das folgende Feld im Abschnitt „Einschränkungen und Werte“.
-
Wählen Sie unter SDK Sitzung auswählen das Stiftsymbol neben SDKProfil aus und wechseln Sie zur Registerkarte Bereiche. Geben Sie ein DEMO
und wählen Sie Hinzufügen aus.
-
Wählen Sie unter Logische IAM Rolle auswählen das Stiftsymbol neben Logische IAM Rolle aus und navigieren Sie zur Registerkarte Bereiche. Geben Sie ein TESTUSER
und wählen Sie Hinzufügen aus.
Wählen Sie das Stiftsymbol neben SDKProfil und navigieren Sie zur Registerkarte Bereiche. Geben Sie DEMO
ein und wählen Sie Hinzufügen
-
Gehen Sie zurück zur Vorlage für Geschäftsrollen und öffnen Sie die Registerkarte Geschäftsbenutzer. Wählen Sie Hinzufügen aus, um die neu erstellte Geschäftsrolle einem SAP Geschäftsbenutzer zuzuweisen, der die SDK Funktionalität testen wird. Wählen Sie Speichern.
Jeder Geschäftsbenutzer, der der erstellten Geschäftsrolle zugewiesen ist, ist berechtigt, AWS SDK Funktionen mit den im DEMO
SDK Profil konfigurierten Einstellungen zu verwenden. Der autorisierte Benutzer übernimmt auch die IAM Rolle, die der TESTUSER
logischen IAM Rolle in diesem Profil zugeordnet ist.
Schritt 6: Schreiben Sie den Code
Weitere Informationen finden Sie auf den folgenden Registerkarten.
- SDK for SAP ABAP
-
-
Transaktion öffnenSE38
.
-
Geben Sie ZDEMO_TRANSLATE_HELLO_WORLD
als Programmnamen ein.
-
Wählen Sie Create
.
-
Geben Sie AWS SDK Hello World In Any Language
als Titel ein.
-
Typ: Wählen Sie Ausführbares Programm.
-
Status: Wählen Sie Testprogramm.
-
Wählen Sie Speichern.
-
Speichern Sie das Programm als lokales Objekt.
Fügen Sie den folgenden Code hinzu.
*&---------------------------------------------------------------------*
*& 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
-
-
Klicken Sie mit der rechten Maustaste auf das Paket, in dem die ABAP Klasse erstellt werden soll, und wählen Sie dann Neu > ABAPKlasse.
-
Geben Sie ZCL_DEMO_XL8_SIMPLE
den Klassennamen ein und fügen Sie eine Klassenbeschreibung hinzu. Klicken Sie auf Weiter.
-
Erstellen Sie eine Transportanfrage oder wählen Sie eine aus. Wählen Sie Fertig stellen.
Fügen Sie den folgenden Code hinzu.
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.
Einzelheiten zum Schreiben von ABAP Code, der das verwendetSDK, finden Sie unter Verwenden von AWS SDK für SAP ABAP.
Schritt 7: Führen Sie die Anwendung aus
Weitere Informationen finden Sie auf den folgenden Registerkarten.
- SDK for SAP ABAP
-
Führen Sie die Anwendung in ausSE38
. Bei Erfolg wird das Folgende Ihre Ausgabe sein.
Source Phrase: Hello, World
Target Phrase: Hola, mundo
Wenn Ihnen Autorisierungen, Konfigurationen oder Basisvoraussetzungen fehlen, wird möglicherweise eine Fehlermeldung angezeigt. Sehen Sie sich das folgende -Beispiel an.
ERROR Could not find configuration under profile DEMO with
scenario DEFAULT for SBX:001
Wenn Ihre SAP Rolle Sie autorisiert, ein SDK Profil zu verwenden und es einer logischen IAM Rolle zuzuordnen, obwohl Ihre IAM Berechtigungen nicht so konfiguriert sind, dass das SAP System die IAM Rolle übernimmt, wird Folgendes ausgegeben.
ERROR Could not assume role arn:aws:iam::111122223333:role/SapDemoTranslate
Überprüfen Sie in diesem Fall Ihre IAM Berechtigungen und die Vertrauenskonfiguration für die IAM Rollen, Benutzer oder beides, die in Schritt 1: Bereiten Sie Ihr AWS Konto vor definiert sind.
- SDK for SAP ABAP - BTP edition
-
Führen Sie die Anwendung auf Eclipse > Ausführen als > ABAPAnwendung (Konsole) aus. Wenn dies erfolgreich ist, wird das Folgende Ihre Ausgabe sein.
Source Phrase: Hello, World
Target Phrase: Hola, mundo
Wenn Ihnen Autorisierungen, Konfigurationen oder Basisvoraussetzungen fehlen, wird möglicherweise eine Fehlermeldung angezeigt. Sehen Sie sich das folgende -Beispiel an.
ERROR Could not find configuration under profile DEMO with
scenario DEFAULT for SBX:001
Wenn Ihre SAP Rolle Sie autorisiert, ein SDK Profil zu verwenden und es einer logischen IAM Rolle zuzuordnen, obwohl Ihre IAM Berechtigungen nicht so konfiguriert sind, dass das SAP System die IAM Rolle übernimmt, wird Folgendes ausgegeben.
ERROR Could not assume role arn:aws:iam::111122223333:role/SapDemoTranslate
Überprüfen Sie in diesem Fall Ihre IAM Berechtigungen und die Vertrauenskonfiguration für die IAM Rollen, Benutzer oder beides, die in Schritt 1: Bereiten Sie Ihr AWS Konto vor definiert sind.