Code (Mã)

Giới Thiệu

Nút mã hỗ trợ việc thực thi mã Python/NodeJS để thực hiện các biến đổi dữ liệu trong các quy trình làm việc. Nó giúp đơn giản hóa các quy trình làm việc của bạn, phù hợp cho các tình huống tính toán, biến đổi JSON, xử lý văn bản và nhiều tình huống khác.

Nút này đáng kể tăng cường tính linh hoạt của các nhà phát triển, cho phép họ nhúng các kịch bản Python hoặc Javascript tùy chỉnh vào các quy trình làm việc của họ và thao tác với biến theo cách mà các nút đã được thiết lập trước không thể đạt được. Thông qua các tùy chọn cấu hình, bạn có thể chỉ định các biến đầu vào và đầu ra cần thiết và viết mã thực thi tương ứng:

Cấu Hình

Nếu bạn cần sử dụng các biến từ các nút khác trong nút mã, bạn cần xác định tên biến trong input variables và tham chiếu các biến này, xem Tham Chiếu Biến để biết chi tiết.

Các Trường Hợp Sử Dụng

Với nút code, bạn có thể thực hiện các thao tác thông thường sau đây:

Xử Lý Dữ Liệu Cấu Trúc

Trong các quy trình làm việc, thường cần phải xử lý dữ liệu không cấu trúc, chẳng hạn như phân tích, trích xuất và biến đổi chuỗi JSON. Một ví dụ điển hình là xử lý dữ liệu trong nút HTTP, nơi dữ liệu có thể được lồng trong nhiều lớp đối tượng JSON, và chúng ta cần trích xuất một số trường nhất định. Nút mã có thể giúp bạn hoàn thành các nhiệm vụ này. Dưới đây là một ví dụ đơn giản trích xuất trường data.name từ một chuỗi JSON được trả về bởi một nút HTTP:

def main(http_response: str) -> str:
    import json
    data = json.loads(http_response)
    return {
        # do not forget to declare 'result' in the output variables
        'result': data['data']['name']
    }

Tính Toán Toán Học

Khi cần thực hiện các phép tính toán toán học phức tạp trong các quy trình làm việc, nút mã cũng có thể được sử dụng. Ví dụ, để tính toán một công thức toán học phức tạp hoặc thực hiện một số phân tích thống kê trên dữ liệu. Dưới đây là một ví dụ đơn giản tính phương sai của một danh sách:

def main(x: list) -> float:
    return {
        # do not forget to declare 'result' in the output variables
        'result': sum([(i - sum(x) / len(x)) ** 2 for i in x]) / len(x)
    }

Nối Dữ Liệu

Đôi khi, bạn có thể cần nối nhiều nguồn dữ liệu, chẳng hạn như nhiều truy xuất cơ sở kiến thức, tìm kiếm dữ liệu, cuộc gọi API, v.v. Nút code có thể giúp bạn tích hợp những nguồn dữ liệu này. Dưới đây là một ví dụ đơn giản gộp dữ liệu từ hai cơ sở kiến thức:

def main(knowledge1: list, knowledge2: list) -> list:
    return {
        # do not forget to declare 'result' in the output variables
        'result': knowledge1 + knowledge2
    }

Triển Khai Cục Bộ

Nếu bạn là người dùng triển khai cục bộ, bạn cần bắt đầu một dịch vụ sandbox, đảm bảo rằng mã độc hại không được thực thi. Ngoài ra, việc khởi chạy dịch vụ này yêu cầu Docker, và bạn có thể tìm thông tin cụ thể về dịch vụ Sandbox ở đây. Bạn cũng có thể trực tiếp bắt đầu dịch vụ bằng cách sử dụng docker-compose.

docker-compose -f docker-compose.middleware.yaml up -d

Chính Sách Bảo Mật

Môi trường thực thi được tạo ra là một môi trường sandboxed cho cả Python và Javascript, nghĩa là một số chức năng yêu cầu tài nguyên hệ thống mở rộng hoặc gây ra rủi ro bảo mật không có sẵn. Điều này bao gồm, nhưng không giới hạn

Last updated