Настройте аутентификацию ABAP SDK с использованием токенов для SAP, размещенного на виртуальной машине Compute Engine, и выполните API проверки адреса.

1. Введение

В этой лаборатории кода вы выполните действия по настройке аутентификации для доступа к Google Cloud API с использованием токенов, когда ваша система SAP размещена на экземпляре виртуальной машины Compute Engine.

Список используемых услуг:

  • Вычислительный двигатель
  • Сетевые службы
  • Облачная оболочка

Что ты построишь

Вы выполните следующее:

  • Настройте ABAP SDK, установленный в системе SAP, для подключения к API Google.
  • Создайте пример программы отчета для вызова API проверки адреса.

2. Требования

  • Браузер, например Chrome или Firefox .
  • Проект Google Cloud с включенной оплатой или создайте 90-дневную бесплатную пробную учетную запись для Google Cloud Platform.
  • SAP GUI (Windows или Java), установленный в вашей системе. Если графический интерфейс SAP уже установлен в вашей системе, подключитесь к SAP, используя внешний IP-адрес виртуальной машины в качестве IP-адреса сервера приложений. Если вы используете Mac, вы также можете установить графический интерфейс SAP для Java, доступный по этой ссылке.

3. Прежде чем начать

6757b2fb50ddcc2d.png

  • Убедитесь, что все необходимые API (API учетных данных службы IAM и API проверки адреса) включены .
  • Выполните следующие команды для аутентификации своей учетной записи и установите проект по умолчанию abap-sdk-poc . В качестве примера используется зона us-west4-b . При необходимости измените проект и зону в приведенных ниже командах в соответствии с вашими предпочтениями.
gcloud auth login
gcloud config set project abap-sdk-poc
gcloud config set compute/zone us-west4-b
PROJECT_NAME=abap-sdk-poc
REGION=us-west4
ZONE=us-west4-b

4. Создайте учетную запись службы и установите роль Создателя токена учетной записи службы.

Чтобы создать сервисную учетную запись с необходимой ролью, выполните следующие действия:

  1. Выполните следующую команду, чтобы создать учетную запись службы: (Пропустите этот шаг, если учетная запись службы уже существует)
gcloud iam service-accounts create abap-sdk-dev \
    --description="ABAP SDK Dev Account" \
    --display-name="ABAP SDK Dev Account"
  1. Выполните следующую команду, чтобы установить роль создателя токена учетной записи службы :
gcloud projects add-iam-policy-binding $PROJECT_NAME \
    --member=serviceAccount:abap-sdk-dev@$PROJECT_NAME.iam.gserviceaccount.com \
    --role=roles/iam.serviceAccountTokenCreator

5. Настройте ключ клиента

Войдите в систему SAP с именем пользователя DEVELOPER и паролем Htods70334 и выполните следующие действия для настройки ключа клиента:

  1. В графическом интерфейсе SAP введите код транзакции SPRO .
  2. Щелкните Справочное IMG SAP .
  3. Нажмите ABAP SDK для Google Cloud > Основные настройки > Настроить ключ клиента .
  4. Нажмите «Новые записи» .
  5. Введите значения в следующие поля:

Поле

Описание

Имя облачного ключа Google

ABAP_SDK_DEMO

Имя учетной записи облачной службы Google

abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com

Облачная область Google

https://www.googleapis.com/auth/cloud-platform

Идентификатор облачного проекта Google

abap-sdk-poc

Класс авторизации

/GOOG/CL_AUTH_GOOGLE.

Остальные поля оставьте пустыми

c72e71da6fd75b29.png

6. Создайте назначение RFC

Создайте назначение RFC для учетных данных IAM и API проверки адреса.

Имя назначения RFC

Целевой хост (конечная точка API)

Примечания

ZGOOG_IAMCREDENTIALS

Хост : iamcredentials.googleapis.com Путь : Префикс: /v1/ Порт : 443 SSL : Активный

Это назначение RFC предназначено для API IAM.

ZGOOG_ADDRESSVALIDATION_V1

Хост : адресvalidation.googleapis.com Порт : 443 SSL : активный

Это назначение RFC предназначено для API проверки адреса.

  • На вкладке «Технические настройки» введите следующие данные для пункта назначения ZGOOG_IAMCREDENTIALS.

e670c6a91acba40f.png

  • На вкладке «Технические настройки» введите следующие данные для места назначения ZGOOG_ADDRESSVALIDATION_V1.

fcf92530ece612ea.png

  • В поле «Сертификат SSL» убедитесь, что для обоих пунктов назначения RFC выбран параметр «Клиент SSL по умолчанию» (стандартный) .

b6370d12bd332318.png

7. Настройте сопоставление сервисов

Чтобы настроить таблицу сопоставления служб для API IAM и API проверки адреса, выполните следующие действия:

  1. В графическом интерфейсе SAP введите код транзакции SPRO .
  2. Щелкните Справочное IMG SAP .
  3. Нажмите ABAP SDK для Google Cloud > Основные настройки > Настроить сопоставление сервисов .
  4. Нажмите «Новые записи» для API проверки учетных данных IAM и адреса, связанных с пунктами назначения RFC.

e227316b0f249823.png

8. Проверка конфигурации

Чтобы проверить конфигурацию аутентификации, выполните следующие шаги:

  1. В графическом интерфейсе SAP введите код транзакции SPRO .
  2. Щелкните Справочное IMG SAP .
  3. Нажмите ABAP SDK для Google Cloud > Утилиты > Проверка конфигурации аутентификации .
  4. Введите имя ключа клиента как ABAP_SDK_DEMO .
  5. Нажмите «Выполнить» , чтобы проверить, успешно ли настроен весь поток.
  6. Зеленая галочка в столбце «Результат» означает, что все этапы настройки выполнены успешно.

d7285e64e22c25b6.png

9. Создайте программу-отчет для вызова службы проверки адреса.

  1. Войдите в свою систему SAP.
  2. Перейдите к коду транзакции SE38 и создайте программу отчета с именем ZDEMO_ADDRESS_VALIDATION.
  3. В открывшемся всплывающем окне укажите сведения, как показано ниже, и нажмите «Сохранить» .

d8aac0f9e0bc5f9d.png

  1. В следующем всплывающем окне выберите «Локальный объект» или укажите имя пакета, если это необходимо.
  2. В редакторе ABAP добавьте следующий код:
" data declarations
DATA lv_ret_code          TYPE i.
DATA lv_err_text          TYPE string.
DATA ls_input             TYPE /goog/cl_addrvaldn_v1=>ty_012.
DATA ls_output            TYPE /goog/cl_addrvaldn_v1=>ty_013.
DATA ls_err_resp          TYPE /goog/err_resp.
DATA lo_exception         TYPE REF TO /goog/cx_sdk.
DATA lo_address_validator TYPE REF TO /goog/cl_addrvaldn_v1.

" instantiate api client stub
TRY.
    lo_address_validator = NEW #( iv_key_name = 'ABAP_SDK_DEV' ).

    " Pass the address to be validated and corrected.
    " Mountain misspelled as  Moutain
    " Amphitheatre misspelled as Amphithetre
    ls_input-address-region_code = 'US'.
    ls_input-address-locality    = 'Moutain View'.
    APPEND '1600, Amphithetre, Parkway' TO ls_input-address-address_lines.

    " call the api method to validate address
    lo_address_validator->validate_address( EXPORTING is_input    = ls_input
                                            IMPORTING es_output   = ls_output
                                                      ev_ret_code = lv_ret_code
                                                      ev_err_text = lv_err_text
                                                      es_err_resp = ls_err_resp ).
    IF     lo_address_validator->is_success( lv_ret_code ) = abap_true
       AND ls_output-result-verdict-address_complete       = abap_true.
      cl_demo_output=>new(
        )->begin_section( `Original Address`
        )->write_data( ls_input-address-region_code
        )->write_data( ls_input-address-locality
        )->write_data( ls_input-address-address_lines
        )->next_section( `Validated & Corrected Address`
        )->begin_section( `Elementary Object`
        )->write_data( ls_output-result-address-formatted_address
        )->display( ).
    ENDIF.

  CATCH /goog/cx_sdk INTO lo_exception.
    " write code here to handle exceptions
    cl_demo_output=>display( lo_exception->get_text( ) ).
ENDTRY.
  1. Сохраните и активируйте отчет.
  2. Выполнить отчет (F8).

В случае успешного выполнения вы должны увидеть выходные данные отчета, как показано ниже:

8b0aed97320f4ef.png

10. Поздравления

Поздравляем! Вы успешно настроили ABAP SDK для вызова службы проверки адреса.

Теперь вы можете перейти к другим лабораториям кода ABAP SDK , чтобы продолжить обучение использованию ABAP SDK для Google Cloud для доступа к различным облачным службам Google.

11. Очистка

Если вы не хотите продолжать работу с дополнительными лабораториями кода, связанными с ABAP SDK для Google Cloud, продолжите очистку.

Удалить проект

  • Удалите проект Google Cloud:
gcloud projects delete abap-sdk-poc

Удаление отдельных ресурсов

  1. Удалите записи конфигурации ключа клиента, перейдя в IMG > Google Cloud > Основные настройки > Настроить ключ клиента.
  2. Удалите записи конфигурации сопоставления служб, перейдя в IMG > Google Cloud > Основные настройки > Настроить клиентский ключ.
  3. Удалите адреса RFC ZGOOG_IAMCREDENTIALS и ZGOOG_ADDRESSVALIDATION_V1.
  4. Удалить сервисный аккаунт:
gcloud iam service-accounts delete \
    abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com