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

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Bạn có thể sử dụng các chính sách đi kèm với Apigee Edge để thao túng các thông báo chuyển qua các proxy API của mình. Với chính sách, bạn có thể:

  • Chuyển đổi thông điệp 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 thông điệp từ các giá trị biến.
  • Dùng mã quy trình, chẳng hạn như JavaScript, Java và Python, để xử lý thông điệp 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 sẽ chỉ định đầu vào và đầu ra dưới dạng 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 các khả năng đó. Để biết thêm thông tin kỹ thuật và đầy đủ, hãy xem tài liệu tham khảo chính sách cho từng loại.

Xử lý đơn giản đối với XML và JSON

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

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 dữ liệu đó thành XML.

Trong ví dụ về chính sách sau, chính sách này sẽ lấy một thông điệp có định dạng JSON qua biến request, sau đó thay thế giá trị của biến bằng một thông báo có định dạng XML. Dữ liệu đầ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 nhập XML thành JSON.

Trong ví dụ về chính sách sau, chính sách này sẽ lấy một thông báo ở đị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. Dữ liệu đầ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 NDK

Bạn có thể sử dụng Chính sách chuyển đổi XSL để chuyển đổi thư bằng NDK. 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 Chuyển đổi NDK với một biểu định kiểu để thực hiện việc chuyển đổi mà bạn cần.

Trong ví dụ sau về chính sách, chính sách này sẽ lấy một thông báo ở định dạng XML từ biến response, sau đó thay thế giá trị của biến bằng một thông báo được định dạng theo my_transform.xsl. Dữ liệu đầ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

Thường thì quá trình xử lý dữ liệu trong proxy chỉ bao gồm thao tác đơn giản với dữ liệu trạng thái dưới dạng các giá trị biến luồng. Thông thường, bạn 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 các giá trị biến. Ví dụ: bạn có thể muốn định dạng 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 thông báo để đặt các giá trị biến.

Hãy nhớ xem các tài liệu tham khảo cho hai chính sách sau:

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

Để xử lý dữ liệu có độ phức tạp nằm ngoài 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ữ quy trình như JavaScript, Java hoặc Python.

Nhìn chung, quá trình này bao gồm việc viết mã bằng một trong những 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ề điều này, hãy xem phần Kết hợp mã quy trình.