串流要求和回應

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

本主題課程內容

閱讀本主題後,您就會瞭解:

  • 什麼是 Apigee Edge 的串流要求與回應機制
  • 使用要求和回應串流的時機
  • 如何啟用要求和回應串流
,瞭解如何調查及移除這項存取權。

什麼是要求與回應串流?

根據預設,HTTP 串流會停用,而 HTTP 要求與回應酬載都會寫入 記憶體中的緩衝區,然後才會由 API Proxy 管道處理。您可以調整這項設定 藉此影響整體行為啟用串流後,要求與回應酬載 未修改用戶端應用程式 (用於回應) 和目標端點 (適用於 要求)。

何時該啟用直播功能?

如果您的 API Proxy 會處理非常龐大的要求和/或回應 (如需大小限制,請參閱 直播的其他注意事項 建議您啟用串流播放功能。

關於直播,其他注意事項

訊息酬載大小在 Edge Cloud 中不得超過 10 MB,且 私有雲,即便已啟用串流功能也是如此。在非串流式要求和回應中,超過 這樣會產生 protocol.http.TooBigBody 錯誤

在 Edge for Private Cloud 部署項目中,您可以修改非串流要求/回應大小 我們會自動向帳單帳戶扣款 並每月或在您達到用量上限時發送帳單將變更部署至實際工作環境前,請務必先進行測試。

  • 適用於 4.16.01 以下版本的 Edge for Private Cloud:

    在所有訊息處理器上編輯 http.properties 檔案,將 HTTPResponse.body.buffer.limit 參數中的限制,然後重新啟動 訊息處理器
  • 適用於 Edge for Private Cloud 4.16.01 以上版本:
    1. 編輯 /<inst_root>/apigee/customer/application/message-processor.properties。 如果該檔案不存在,請建立該檔案。

    2. 設定 conf_http_HTTPResponse.body.buffer.limit message-processor.properties 中的屬性。適用對象 範例:
      conf_http_HTTPResponse.body.buffer.limit=5m

    3. 重新啟動訊息處理器:
      &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-message-processor 重新啟動

    4. 對所有訊息處理器重複執行相同步驟。

,瞭解如何調查及移除這項存取權。

如何啟用要求和回應串流

如要啟用要求串流功能,請新增 request.streaming.enabled 屬性連結至 Proxy 軟體包中的 ProxyEndpoint 和 TargetEndpoint 定義,並將該屬性設為 true。同樣地,請設定 response.streaming.enabled 屬性來啟用回應串流功能。

您可以在管理 UI 的「開發」檢視畫面中找到這些設定檔 Proxy 上。如果您要在本機開發,這些定義檔位於 apiproxy/proxiesapiproxy/targets

這個範例說明如何在 TargetEndpoint 中啟用要求與回應串流 定義

<TargetEndpoint name="default">
  <HTTPTargetConnection>
    <URL>http://mocktarget.apigee.net</URL>
    <Properties>
      <Property name="response.streaming.enabled">true</Property>
      <Property name="request.streaming.enabled">true</Property>
      <Property name="supports.http10">true</Property>
      <Property name="request.retain.headers">User-Agent,Referer,Accept-Language</Property>
      <Property name="retain.queryparams">apikey</Property>
    </Properties>
  </HTTPTargetConnection>
</TargetEndpoint>

這個範例說明如何在 ProxyEndpoint 中啟用回應和要求串流功能 定義:

<ProxyEndpoint name="default">
  <HTTPProxyConnection>
    <BasePath>/v1/weather</BasePath>
    <Properties>
      <Property name="allow.http10">true</Property>
      <Property name="response.streaming.enabled">true</Property>
      <Property name="request.streaming.enabled">true</Property>
    </Properties>
  </HTTPProxyConnection>
</ProxyEndpoint>

如要進一步瞭解如何設定端點定義,請參閱端點屬性參考資料

相關程式碼 範例

GitHub 上的 API Proxy 範例相當容易下載及使用。如要瞭解詳細資訊,請參閱「使用 API Proxy 範例」一文 下載及使用範例

提供串流功能的 Proxy 範例包括: