

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 自訂對 的 HTTP 請求 AWS
<a name="customize-http-request"></a>

 適用於 SAP ABAP 的 AWS SDK 會處理建立 HTTP 請求、傳送承載和接收回應的程序。您可以自訂 HTTP 請求的行為或內容，以符合您自己的 IT 需求。SDK `/AWS1/RT_EHN_HTTP_CLIENT`將增強功能點定義為集中位置，以增強 HTTP 通訊。增強功能 spot 支援將 HTTP 標頭新增至向 提出的請求 AWS。

## 實作增強功能
<a name="implement-enhancement"></a>

SAP 提供下列指示來實作增強功能：
+ [傳統 ABAP](https://help.sap.com/doc/saphelp_nw75/7.5.5/en-US/5f/103a4280da9923e10000000a155106/frameset.htm)
+ [BTP ABAP](https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/creating-badi-implementations)

## 篩選增強功能
<a name="filter-enhancement"></a>



增強點支援多個可同時作用中的實作。如果您需要確保增強功能僅在呼叫特定 AWS 服務或 API 動作時執行，您可以根據下列屬性篩選 BAdi 的執行：
+ `TLA` - 服務的三個字母縮寫，以大寫字母表示。
+ `OPERATION` - API 動作名稱。例如，從 S3 儲存貯體取得物件的操作是 [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)。動作名稱區分大小寫，可能不完全符合 ABAP 方法名稱。

## 編碼增強功能
<a name="code-enhancement"></a>

增強功能提供下列方法。

### MODIFY\_REQ\_HEADERS
<a name="modify-req-headers"></a>

```
CHANGING CT_HEADERS TYPE /AWS1/RT_STRINGMAP_TT
```

您可以在`CT_HEADERS`內部資料表中附加和修改標頭。我們不建議修改標頭，因為這會改變 AWS 服務使用的資料。您新增的任何標頭會被 AWS 服務忽略，但可由您的 IT 基礎設施處理，例如代理伺服器或其他中介軟體。

在計算身分驗證和遙測標頭之前呼叫增強點，因此增強功能無法修改這些項目。

以下是實作範例。

```
METHOD /aws1/if_rt_badi_http_client~modify_req_headers.
  APPEND VALUE /aws1/rt_stringpair_ts( name = '{{x-test-example}}' value = '{{value}}' ) 
    TO ct_headers.
ENDMETHOD.
```