기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
시작하기 AWS SDK for SAP ABAP
이 섹션에서는 를 시작하는 방법을 설명합니다SDK. 여기에는 설치, 기본 구성 수행SDK, 구문을 한 언어에서 다른 언어로 번역하는 Hello World 코드 예제 만들기에 대한 정보가 포함되어 있습니다. 를 처음 사용하는 경우 샌드박스 환경에서 이 단계를 수행하는 것이 좋습니다. AWS SDK
1단계: 계정 AWS 준비
for를 시작하려면 활성화된 SDK 계정이 있어야 합니다 AWS 계정 . SAP ABAP SAP시스템이 온프레미스, SAP 비즈니스 기술 플랫폼 (BTP) 또는 다른 클라우드 제공업체에서 호스팅되는 AWS 계정 경우에도 이벤트가 필요합니다.
SAP시스템이 클라우드에서 실행되는 경우 AWS 클라우드에 있는 AWS
서비스로 전화를 걸게 됩니다. AWS 계정
IAMSAP사용자 역할
-
사용 설명서에 제공된 지침에 따라 IAM 역할을 생성합니다.AWS Identity and Access Management 자세한 내용은 AWS 서비스에 권한을 위임하기 위한 역할 만들기를 참조하십시오. 나중에 사용할 수 있도록 IAM 역할의 Amazon 리소스 이름 (ARN) 을 기록해 둡니다.
-
사용 EC2 사례로 Amazon을 선택합니다.
-
역할 이름으로 SapDemoTranslate
을(를) 사용합니다.
-
TranslateReadOnly
프로파일을 역할에 추가합니다.
-
SAP시스템에서 역할을 수임할 수 있으려면 역할에 다음 엔티티가 있어야 합니다. "111122223333"
를 AWS
계정 번호로 바꿉니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sts:AssumeRole"
],
"Principal": { "AWS": "111122223333"
}
}
]
}
이 예제는 의 모든 주도자가 역할을 맡을 AWS 계정
"111122223333"
수 있음을 보여줍니다. 이는 적합한 광범위한 권한입니다 proof-of-concept. 다음 예와 같이 프로덕션에 더 좁은 보안 주체를 사용할 수 있습니다.
-
특정 사용자 - SAP 시스템에서 다음 중 하나를 사용하는 경우
-
특정 역할 — SAP 시스템이 Amazon에 EC2 있고 인스턴스 프로필이 있는 경우.
-
Amazon EC2 — SAP 시스템이 Amazon에 EC2 있고 인스턴스 프로필이 없는 경우
자세한 내용은 IAM 보안 모범 사례를 참조하십시오.
인증
인증은 SAP 시스템이 호스팅되는 위치에 따라 달라집니다.
온 AWS 클라우드
SAP시스템이 실행 중인 EC2 인스턴스에 다음 권한이 있는 인스턴스 프로필이 있는지 확인하십시오.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::111122223333:role/SapDemoTranslate"
}
]
}
이전 단계에서 기록해 둔 내용을 ARN 추가합니다.
이 권한을 사용하면 SAP 시스템이 ABAP 사용자를 대신하여 SapDemoTranslate
역할을 수임할 수 있습니다.
온프레미스 SAP BTP 또는 기타 클라우드
SAP시스템이 온프레미스, 온 프레미스 SAP BTP 또는 다른 클라우드에 있는 경우 다음 단계에 따라 보안 액세스 키를 사용하여 인증을 위한 연결을 설정하십시오.
-
IAM 사용자를 만듭니다. 자세한 내용은 IAM사용자 생성 (콘솔) 을 참조하십시오.
-
IAM사용자 SapDemoSID
이름으로 사용합니다. SID
시스템의 시스템 ID입니다. SAP
-
이 사용자에게 SapDemoTranslate
역할을 할당합니다.
access_key
및 을 보관하십시오secret_access_key
. SAP시스템에서 이러한 자격 증명을 구성해야 합니다.
SAP시스템이 온프레미스, 온프레미스 SAP BTP 또는 다른 클라우드에 있는 경우 다음 옵션 중 하나를 사용하여 인증할 수 있습니다.
2단계: SDK 설치
설치 지침은 다음 탭을 참조하십시오.
- SDK for SAP ABAP
-
SAP시스템에서 SDK SAP ABAP 전송하기 위해 가져오십시오. 모든 클라이언트로 전송을 가져올 수 있습니다. 자세한 SDK내용은 SAP ABAP 설치 대상을 참조하십시오.
- SDK for SAP ABAP - BTP edition
-
제품 배포 응용 프로그램을 사용하여 SDK BTP 에디션용 SAP ABAP 버전을 설치합니다. 자세한 내용은 SAPABAP- SDK BTP 에디션용 설치를 참조하십시오.
를 SDK 구성하기 전에 필요한 승인이 있는지 확인하십시오. 자세한 내용은 승인을 참조하십시오SAP.
구성 지침은 다음 탭을 참조하십시오.
- SDK for SAP ABAP
-
/AWS1/IMG
트랜잭션을 실행하여 에 SDK 대한 구현 안내서를 SAP ABAP 여십시오. 이 트랜잭션을 실행하려면 SAP 시스템의 명령 표시줄에 를 입력한 다음 Enter를 선택합니다. /n/AWS1/IMG
다음 구성을 완료하십시오.
온프레미스 시스템의 사전 조건
SAP시스템이 온프레미스 또는 다른 클라우드에서 실행 중인 경우 자격 증명을 데이터베이스에 저장해야 합니다. SAP 자격 증명은 를 사용하여 SAP SSF 암호화되며 다음과 같이 SAP 구성된 암호화 라이브러리가 필요합니다. CommonCryptoLib
에 SSF SDK 대한 구성 단계는 /AWS1/IMG
트랜잭션에 SAP ABAP 설명되어 있습니다.
Amazon에서 SAP 시스템을 실행하는 경우 위의 사전 요구 사항은 적용되지 않습니다. EC2 SAPAmazon에서 실행되는 시스템은 Amazon EC2 인스턴스 메타데이터에서 수명이 짧은 자격 증명을 자동으로 교체하여 EC2 가져옵니다.
- SDK for SAP ABAP - BTP edition
-
웹 브라우저에서 ABAP 환경을 열고 사용자 지정 비즈니스 구성 애플리케이션으로 이동합니다.
다음 구성을 완료하십시오.
-
시나리오 구성으로 이동합니다.
-
기술 설정으로 이동합니다.
4단계: 기능 설정
설정 지침은 다음 탭을 참조하십시오.
- SDK for SAP ABAP
-
트랜잭션을 실행 /AWS1/IMG
(명령 표시줄에 입력하고 Enter 선택) 하여 구현 안내서를 엽니다 AWS SDK. /n/AWS1/IMG
- SDK for SAP ABAP - BTP edition
-
자격 증명 저장소를 사용하여 SAP 인증을 설정합니다. 자세한 내용은 SAP자격 증명 저장소 사용을 참조하십시오.
웹 브라우저에서 ABAP 환경을 열고 사용자 지정 비즈니스 구성 애플리케이션으로 이동합니다.
5단계: 사용자 권한 부여 SAP
SAP사용자는 기본적으로 AWS 기능을 사용할 권한이 없습니다. 사용자는 인증을 사용하여 SAP 명시적으로 권한을 부여받아야 합니다. 자세한 내용은 다음 탭을 참조하십시오.
- SDK for SAP ABAP
-
PFCG역할 생성
SAP사용자에게 PFCG 역할 할당
ZAWS_SDK_DEMO_TESTUSER
역할이 할당된 모든 사용자는 DEMO
SDK 프로필에 구성된 설정으로 AWS SDK 기능을 사용할 수 있습니다. 또한 인증된 사용자는 해당 프로필의 TESTUSER
논리적 IAM IAM 역할에 매핑된 역할을 맡게 됩니다.
- SDK for SAP ABAP - BTP edition
-
비즈니스 역할 생성
-
웹 브라우저에서 ABAP 환경을 열고 비즈니스 역할 유지 관리 애플리케이션으로 이동합니다.
-
템플릿에서 생성을 선택하고 다음 세부 정보를 입력합니다.
-
템플릿 — 선택합니다/AWS1/RT_BTP_ENDUSER
.
-
새 비즈니스 역할 ID — ID를 입력합니다.
-
새 비즈니스 역할 설명 - 설명을 입력합니다.
-
확인을 선택하면 비즈니스 역할 페이지가 표시됩니다.
-
일반 역할 세부 정보 탭에서 액세스 범주로 이동하여 쓰기, 읽기, 값 도움말 필드를 제한됨으로 설정합니다.
-
제한 유지 관리를 선택하고 왼쪽 탐색 창에서 할당된 제한 유형을 확장합니다. 제한 및 값 섹션에서 다음 필드를 업데이트하십시오.
-
SDK세션 선택에서 SDK 프로필 옆의 연필 아이콘을 선택하고 범위 탭으로 이동합니다. DEMO
를 입력하고 추가를 선택합니다.
-
논리적 IAM 역할 선택에서 논리적 IAM 역할 옆에 있는 연필 아이콘을 선택하고 범위 탭으로 이동합니다. TESTUSER
를 입력하고 추가를 선택합니다.
SDK프로필 옆의 연필 아이콘을 선택하고 범위 탭으로 이동합니다. DEMO
를 입력하고 추가를 선택합니다.
-
비즈니스 역할 템플릿으로 돌아가서 비즈니스 사용자 탭을 엽니다. SDK기능을 테스트할 비즈니스 사용자에게 새로 만든 SAP 비즈니스 역할을 할당하려면 추가를 선택합니다. 저장을 선택합니다.
생성된 비즈니스 역할에 할당된 모든 비즈니스 사용자는 DEMO
SDK 프로필에 구성된 설정으로 AWS SDK 기능을 사용할 권한이 부여됩니다. 또한 인증된 사용자는 해당 프로필의 TESTUSER
논리적 IAM IAM 역할에 매핑된 역할을 맡게 됩니다.
6단계: 코드 작성
자세한 내용은 다음 탭을 참조하십시오.
- SDK for SAP ABAP
-
다음 코드를 추가합니다.
*&---------------------------------------------------------------------*
*& 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
-
-
ABAP클래스를 만들어야 하는 패키지를 마우스 오른쪽 버튼으로 클릭한 다음 새로 만들기 > ABAP클래스를 선택합니다.
-
클래스 ZCL_DEMO_XL8_SIMPLE
이름을 입력하고 클래스 설명을 추가합니다. 다음을 선택합니다.
-
전송 요청을 생성하거나 선택합니다. 마침을 선택합니다.
다음 코드를 추가합니다.
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.
를 사용하는 ABAP 코드를 작성하는 방법에 대한 자세한 내용은 사용을 참조하십시오 AWS SDK for SAP ABAP. SDK
7단계: 애플리케이션 실행
자세한 내용은 다음 탭을 참조하십시오.
- SDK for SAP ABAP
-
SE38
에서 애플리케이션을 실행합니다. 성공하면 다음과 같은 결과가 출력됩니다.
Source Phrase: Hello, World
Target Phrase: Hola, mundo
권한 부여, 구성 또는 기본 사전 조건이 누락된 경우 오류 메시지가 표시될 수 있습니다. 다음 예를 참조하세요.
ERROR Could not find configuration under profile DEMO with
scenario DEFAULT for SBX:001
SAP시스템에서 SAP 역할을 수임하도록 권한이 구성되지 않은 상태에서 사용자 IAM 역할에 따라 SDK 프로파일을 사용하고 이를 논리적 역할에 매핑할 수 있는 IAM 권한이 부여된 IAM 경우 다음과 같은 결과가 출력됩니다.
ERROR Could not assume role arn:aws:iam::111122223333:role/SapDemoTranslate
이 경우 에 정의된 IAM 역할, 사용자 또는 둘 다에 대한 IAM 권한 및 신뢰 구성을 검토하십시오. 1단계: 계정 AWS 준비
- SDK for SAP ABAP - BTP edition
-
Eclipse > Run As > ABAP애플리케이션 (콘솔) 에서 애플리케이션을 실행합니다. 성공하면 다음과 같은 결과가 출력됩니다.
Source Phrase: Hello, World
Target Phrase: Hola, mundo
권한 부여, 구성 또는 기본 사전 조건이 누락된 경우 오류 메시지가 표시될 수 있습니다. 다음 예를 참조하세요.
ERROR Could not find configuration under profile DEMO with
scenario DEFAULT for SBX:001
SAP시스템에서 SAP 역할을 수임하도록 권한이 구성되지 않은 상태에서 사용자 역할에 따라 SDK 프로파일을 사용하고 이를 논리적 IAM 역할에 매핑할 수 있는 IAM 권한을 부여하는 경우 다음과 같은 결과가 출력됩니다. IAM
ERROR Could not assume role arn:aws:iam::111122223333:role/SapDemoTranslate
이 경우 에 정의된 IAM 역할, 사용자 또는 둘 다에 대한 IAM 권한 및 신뢰 구성을 검토하십시오. 1단계: 계정 AWS 준비