CloudControl là một nền tảng đám mây giống như Heroku. Tạo tiện ích bổ sung cloudControl rất giống với tạo tiện ích bổ sung Heroku nhưng có một số điểm khác biệt. Bài viết này giải thích những khác biệt đó.

Giới thiệu

Tiện ích bổ sung của GroupDocs dành cho cloudControl là một công cụ web có thể được cài đặt trên bất kỳ ứng dụng web nào để cung cấp chức năng GroupDocs:

  • Tạo người dùng GroupDocs mới với gói miễn phí và nhận ID người dùng cũng như khóa cá nhân cho người dùng này. Điều này được thực hiện tự động khi tiện ích bổ sung được cài đặt.
  • Người dùng có thể thay đổi gói thanh toán bằng chức năng thay đổi gói của tiện ích bổ sung.
  • Truy cập vào bất kỳ phương thức nào từ API GroupDocs bằng ID máy khách và khóa cá nhân (bạn có thể lấy từ tiện ích bổ sung). Chúng tôi đã tạo ví dụ này trình bày cách sử dụng tiện ích bổ sung và GroupDocs Python SDK cho một số tác vụ cơ bản.

Yêu cầu

  • công cụ kensa
  • công cụ kiểm soát đám mây
  • Trăn 2.7
  • ứng dụng cloudControl

Tạo tiện ích bổ sung

Quy trình tạo tiện ích bổ sung cloudControl cũng giống như quy trình tạo tiện ích bổ sung Heroku, nhưng, như tôi đã nói trước đó, với một vài điểm khác biệt. Chúng tôi sẽ không đi sâu vào cách tạo tiện ích bổ sung vì Heroku có rất nhiều tài liệu về điều này và bạn quyết định cách bạn xây dựng tiện ích đó. Tôi sẽ chỉ cho thấy sự khác biệt chính xác là gì. Giả sử rằng chúng ta đã có một tiện ích bổ sung Heroku thú vị và chúng ta muốn xây dựng lại nó cho cloudControl:

  1. Cài đặt công cụ Kensa và cloudControl. Chúng giúp bạn quản lý các ứng dụng bổ trợ và cloudControl. Tìm hiểu cách cài đặt công cụ cloudControl.
  2. Sau khi cài đặt các công cụ, hãy thay đổi tệp addon-manifest.json. Điều này chứa tất cả các thông tin cơ bản để cài đặt tiện ích bổ sung, chẳng hạn như biến môi trường nào sẽ được tạo và từ đâu để tải xuống và cài đặt các tệp tiện ích bổ sung.
    • Trước khi bạn tải tệp addon-manifest.json đã chỉnh sửa lên, hãy đặt biến môi trường ADDONS\URL=https://api.cloudcontrol.com:.
    • Chỉ định máy chủ sản xuất. Heroku yêu cầu bạn chỉ định máy chủ sản xuất, sau đó xây dựng URL được sử dụng để cung cấp tiện ích bổ sung của bạn bằng cách thêm “/heroku/resource” vào tiện ích bổ sung đó. Bây giờ, hãy cung cấp hàm băm thay vì chuỗi và thay đổi “/heroku/resource” thành “/cloudcontrol/resource”.
    • Thêm “sso\salt”:“PASSWORD” và “production”: {“base\url”:“https://your.add-on.com/cloudcontrol/resources", “sso\url”:“https:/ /your.add-on.com/cloudcontrol/resources”}.
  3. Thay đổi “heroku\id” thành “cloudcontrol\id” trong tệp bổ trợ.
  4. Khi các thay đổi đã được thực hiện, hãy thử nghiệm tiện ích bổ sung bằng các thử nghiệm Kensa bằng cách chạy nó trong bảng điều khiển: cung cấp thử nghiệm kensa và thử nghiệm ngừng cung cấp kensa. [caption id=“attachment\3488” align=“alignnone” width=“600” caption=“Kiểm tra Kensa”]
  5. Nếu kiểm tra vượt qua, hãy đẩy addon-manifest.json lên cloudControl bằng kensa push -f addon-manifest.json. [caption id=“attachment\3489” align=“alignnone” width=“600” caption=“Kensa push”]
  6. Cài đặt tiện ích bổ sung cho ứng dụng cloudControl của bạn: cctrlapp YOUR\APP\NAME addon.add YOUR\ADDON\NAME.PLANE

Bây giờ chúng tôi đã xuất bản và cài đặt tiện ích bổ sung cloudControl. Càng xa càng tốt. Làm cách nào để chúng tôi nhận được các biến môi trường mà tiện ích bổ sung tạo ra? Hãy cùng tìm hiểu.

Cách lấy biến môi trường

Trong Heroku, điều này thật dễ dàng. Ví dụ: trong Python, chúng ta có thể thực hiện việc này với dòng os.environ[‘TÊN BIẾN’]. Nếu bạn thử điều này trong cloudControl, bạn chỉ nhận được một số thuộc tính cơ bản của Python chứ không phải các biến bổ sung của bạn. Trong cloudControl, tất cả các biến môi trường được tạo bởi tiện ích bổ sung được ghi vào tệp json mà chúng ta có thể lấy bằng cách sử dụngCRED\FILE. Đây là tên của thuộc tính hệ thống chứa đường dẫn đến tệp JSON có biến môi trường. Để lấy dữ liệu của chúng tôi, tất cả những gì chúng tôi cần là đọc tệp JSON này và giải mã chuỗi JSON. Trong Python, chúng ta có thể làm điều này với mã này:

credentialsFile = os.getenv('CRED\_FILE')
    credentials = open(credentialsFile)
    data = json.load(credentials)
    credentials.close()
    clientId = data\['GROUPDOCS'\]\['GROUPDOCS\_CID'\]
    privateKey = data\['GROUPDOCS'\]\['GROUPDOCS\_PKEY'\]

Đó là cách chúng tôi lấy ID ứng dụng khách và khóa riêng của người dùng tiện ích bổ sung GroupDocs. Và đó là tất cả. Bây giờ bạn đã biết sự khác biệt giữa tiện ích bổ sung Heroku và cloudControl.