Tạo, truy cập và chuyển đổi thông báo

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X.
thông tin

Bạn có thể sử dụng các chính sách có trong Apigee Edge để thao tác với các thông báo truyền qua các proxy API. Với chính sách, bạn có thể:

  • Chuyển đổi thông báo giữa các định dạng, chẳng hạn như từ XML sang JSON.
  • Đặt giá trị biến từ nội dung tin nhắn và tạo tin nhắn từ giá trị biến.
  • Sử dụng mã theo quy trình, chẳng hạn như JavaScript, Java và Python, để xử lý thông báo và dữ liệu theo những cách phức tạp hơn.

Nhìn chung, khi sử dụng các chính sách này, bạn chỉ định đầu vào và đầu ra dưới dạng các biến luồng. Trong thời gian chạy, Apigee Edge sẽ truy xuất giá trị đầu vào từ một biến nguồn và ghi giá trị đầu ra vào một biến đầu ra.

Chủ đề này giới thiệu những chức năng này. Để biết thêm thông tin đầy đủ và mang tính kỹ thuật, hãy xem tài liệu tham khảo về chính sách cho từng loại.

Xử lý đơn giản cho XML và JSON

Apigee Edge có các chính sách giúp bạn dễ dàng chuyển đổi giữa XML và JSON, cũng như chuyển đổi XML bằng XSL.

Chuyển đổi JSON sang XML

Chính sách JSON sang XML sẽ lấy dữ liệu đầu vào JSON của bạn và chuyển đổi thành XML.

Trong ví dụ về chính sách sau đây, chính sách sẽ lấy một thông báo có định dạng JSON từ biến request, sau đó thay thế giá trị biến bằng một thông báo có định dạng XML. Đầu vào được chỉ định trong phần tử <Source>, còn đầu ra được chỉ định trong phần tử <OutputVariable>.

<JSONToXML name="jsontoxml">
     <Source>request</Source>
     <OutputVariable>request</OutputVariable>
</JSONToXML>

Chuyển đổi XML sang JSON

Chính sách XML sang JSON chuyển đổi thông báo đầu vào XML thành JSON.

Trong ví dụ về chính sách sau đây, chính sách sẽ lấy một thông báo có định dạng XML từ biến response, sau đó thay thế giá trị biến bằng một thông báo có định dạng JSON. Đầu vào được chỉ định trong phần tử <Source>, còn đầu ra được chỉ định trong phần tử <OutputVariable>.

<XMLToJSON name="ConvertToJSON">
   <OutputVariable>response</OutputVariable>
   <Source>response</Source>
</XMLToJSON>

Chuyển đổi XML bằng XSL

Bạn có thể sử dụng chính sách Biến đổi XSL để biến đổi thông báo bằng XSL. Ví dụ: sau khi chuyển đổi tải trọng JSON thành XML, bạn có thể sử dụng chính sách Biến đổi XSL bằng một biểu định kiểu để thực hiện quá trình biến đổi mà bạn cần.

Trong ví dụ về chính sách sau đây, chính sách này lấy một thông báo có định dạng XML từ biến response, sau đó thay thế giá trị biến bằng một thông báo do my_transform.xsl định dạng. Đầu vào được chỉ định trong phần tử <Source>, còn đầu ra được chỉ định trong phần tử <OutputVariable>.

<XSL name="TransformXML">
    <ResourceURL>xsl://my_transform.xsl</ResourceURL>
    <Source>response</Source>
    <OutputVariable>response</OutputVariable>
</XSL>

    <Source>request</Source>
    <ResourceURL>xsl://XSL-Transform-1.xsl</ResourceURL>
    <OutputVariable/>

Xử lý dữ liệu biến

Việc xử lý dữ liệu trong một proxy thường chỉ liên quan đến việc xử lý dữ liệu trạng thái dưới dạng các giá trị biến luồng. Bạn thường có thể thực hiện việc này bằng cách sử dụng một chính sách nhận hoặc đặt giá trị biến. Ví dụ: bạn có thể muốn định hình các giá trị biến thành một thông báo hoặc trích xuất nội dung của một thông báo để đặt các giá trị biến.

Hãy nhớ xem thông tin tham khảo về 2 chính sách sau:

Tạo các phép biến đổi phức tạp hơn

Đối với việc xử lý dữ liệu có độ phức tạp vượt quá khả năng của các chính sách đi kèm, bạn có thể sử dụng các ngôn ngữ theo quy trình như JavaScript, Java hoặc Python.

Thông thường, việc này liên quan đến việc viết mã bằng một trong các ngôn ngữ này, sau đó gọi mã từ một chính sách dành riêng cho ngôn ngữ đó. Để biết thêm về vấn đề này, hãy xem phần Kết hợp mã theo quy trình.