جریان درخواست ها و پاسخ ها

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

آنچه در این مبحث خواهید آموخت

پس از مطالعه این موضوع متوجه خواهید شد:

  • جریان درخواست و پاسخ در Apigee Edge چیست
  • زمان استفاده از جریان درخواست و پاسخ
  • نحوه فعال کردن جریان درخواست و پاسخ

جریان درخواست و پاسخ چیست؟

به طور پیش‌فرض، جریان HTTP غیرفعال است و بارهای درخواست و پاسخ HTTP قبل از پردازش توسط خط لوله پروکسی API در یک بافر در حافظه نوشته می‌شوند. با فعال کردن پخش جریانی می‌توانید این رفتار را تغییر دهید. با فعال کردن جریان، بارهای درخواست و پاسخ بدون تغییر به برنامه مشتری (برای پاسخ‌ها) و نقطه پایانی هدف (برای درخواست‌ها) پخش می‌شوند.

چه زمانی باید پخش جریانی را فعال کنم؟

اگر پروکسی API شما درخواست‌ها و/یا پاسخ‌های بسیار بزرگ را انجام می‌دهد (برای محدودیت‌های اندازه، در زیر ببینید چه چیز دیگری درباره پخش جریانی باید بدانم )، ممکن است بخواهید پخش را فعال کنید.

چه چیز دیگری باید در مورد پخش بدونم؟

اندازه بار پیام به 10 مگابایت در Edge Cloud و Private Cloud محدود شده است، حتی اگر پخش جریانی فعال باشد. در درخواست‌ها و پاسخ‌های غیر جریانی، بیش از اندازه آن باعث خطای protocol.http.TooBigBody می‌شود.

در Edge for Private Cloud استقرار، می‌توانید محدودیت اندازه درخواست/پاسخ غیر جریانی را تغییر دهید. قبل از اعمال تغییرات در تولید، حتما تست کنید.

  • برای Edge for Private Cloud نسخه های قبلی تا 4.16.01:

    در همه پردازشگرهای پیام، فایل 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. پردازشگر پیام را مجددا راه اندازی کنید:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service edge-message-processor راه اندازی مجدد

    4. برای همه پردازشگرهای پیام تکرار کنید.

نحوه فعال کردن جریان درخواست و پاسخ

برای فعال کردن جریان درخواست، باید ویژگی request.streaming.enabled را به تعاریف ProxyEndpoint و TargetEndpoint در بسته پراکسی اضافه کنید و آن را روی true تنظیم کنید. به طور مشابه، ویژگی response.streaming.enabled را برای فعال کردن جریان پاسخ تنظیم کنید.

می‌توانید این فایل‌های پیکربندی را در رابط کاربری مدیریت در نمای Develop برای پراکسی خود پیدا کنید. اگر به صورت محلی در حال توسعه هستید، این فایل های تعریف در apiproxy/proxies و apiproxy/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>

برای اطلاعات بیشتر در مورد پیکربندی تعاریف نقطه پایانی، به مرجع خواص نقطه پایانی مراجعه کنید.

نمونه کدهای مرتبط

دانلود و استفاده از نمونه های پروکسی API در GitHub آسان است. برای اطلاعات در مورد دانلود و استفاده از نمونه ها به استفاده از نمونه پراکسی های API مراجعه کنید.

پراکسی‌های نمونه‌ای که قابلیت پخش جریانی را دارند عبارتند از:

  • جریان - یک پروکسی API پیکربندی شده برای پخش جریانی HTTP را نشان می دهد.
  • Edge Callout: Signed URL Generator - بهترین روش تولید URL امضا شده برای دسترسی به فایل های بزرگ به جای تلاش برای پخش جریانی آنها در یک درخواست/پاسخ را نشان می دهد.