自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

這款工具在手,無需代碼即可構(gòu)建API

譯文
開發(fā) 開發(fā)工具
DataTrucker 是一個開源的無代碼/低代碼后端,使用Kubernetes模板構(gòu)建API。

[[430681]]

【51CTO.com快譯】應(yīng)用編程接口(API)好比數(shù)字化轉(zhuǎn)型的燃料,使公司能夠快速開發(fā)應(yīng)用程序和微服務(wù)。 DataTrucker.IO是一個新的免費的開源(Apache 2.0)無代碼/低代碼API后端,縮減了構(gòu)建API所需的時間。

DataTrucker讀取簡單的JSON和YAML配置,生成將其轉(zhuǎn)換為API的代碼。除了創(chuàng)建代碼外,它還在Node.js服務(wù)器上托管代碼庫,使其立即可供公眾使用。

DataTrucker處理開發(fā)人員需要處理新項目的大部分日常活動,包括:

  • 創(chuàng)建有指定業(yè)務(wù)邏輯的API端點(使用簡單的插件)
  • 運用標準的基于角色的訪問控制(RBAC)
  • 運用授權(quán)邏輯
  • 在端點上運用加固措施
  • 處理日志管理
  • 連接到各種系統(tǒng)
  • 模塊化業(yè)務(wù)邏輯
  • 幾乎無需代碼,處理所有工作

安裝DataTrucker

該教程展示了如何在OpenShift上安裝DataTrucker,并為Postgres數(shù)據(jù)庫構(gòu)建API。整個過程在Kubernetes環(huán)境中大同小異。

第1步:創(chuàng)建名為Trucker的命名空間

  1. oc new-project trucker 

第2步:下載并安裝應(yīng)用程序

DataTrucker.IO在OpenShift的OperatorHub中可以找到,可以作為Operator添加到您的集群中。

第3步:導(dǎo)航到Operators

點擊左側(cè)導(dǎo)航窗格中的Operators,打開DataTrucker.IO Operator。

第4步:運行YAML對象,從而創(chuàng)建DataTrucker配置

為數(shù)據(jù)庫后端創(chuàng)建持久卷聲明(PVC)。注意:下面提供的Postgres數(shù)據(jù)庫使用Crunchy Data容器以便開始上手。建議對生產(chǎn)工作負載使用經(jīng)過加固的地理冗余數(shù)據(jù)庫。

1. 創(chuàng)建名為samplepvc的PVC。

2. 創(chuàng)建DatatruckerConfig對象的實例。

3. 點擊“創(chuàng)建”之前,確保DatatruckerConfig對象中的TempDB.enabled是True。為下面的演示設(shè)計原型需要這么做。

您可以在DataTrucker的GitLab存儲庫中找到示例。

  1. oc apply -f DatatruckerConfig.yaml 

配置對象Kind: DatatruckerConfig創(chuàng)建以下內(nèi)容:

  • Postgres數(shù)據(jù)庫:您可以創(chuàng)建臨時的非加固Crunchy Data數(shù)據(jù)庫以遵循該教程,只需在DataTrucker配置中啟用下列參數(shù)(對生產(chǎn)工作負載而言,您應(yīng)該使用加固的地理冗余數(shù)據(jù)庫):
  1. TempDB: 
  2.    enabled: true 
  3.    pvc: samplepvc 
  • 數(shù)據(jù)庫配置:在生產(chǎn)系統(tǒng)中,使用地理冗余的Postgres數(shù)據(jù)庫:
  1. user: testuser 
  2.   passwordpassword 
  3.   databasename: userdb 
  4.   hostname: db 
  5.   type: pg 
  6.   port: 5432 
  • 加密配置:創(chuàng)建加密配置:
  1. API: 
  2.    cryptokeys: |- 
  3.       .... 

可在DataTrucker.IO文檔的“生產(chǎn)加固”部分查看詳細信息。

  • API服務(wù)器后端配置:創(chuàng)建API服務(wù)器后端配置:
  1. API: 
  2.    name: API 
  3.    loginServer: |- 
  4.       .... 
  5.    managementServer: |- 
  6.       .... 
  7.    jobsServer: |- 
  8.       .... 

第5步:創(chuàng)建登錄和管理端點

創(chuàng)建一個用于獲取登錄令牌的端點:

  1. apiVersion: datatrucker.datatrucker.io/v1 
  2. kind: DatatruckerFlow 
  3. metadata: 
  4.   name: login-endpoint 
  5. spec: 
  6.   Type: Login   
  7.   DatatruckerConfig: < the name of the config object created in step 4 > 

為RBAC管理和登錄信息創(chuàng)建一個端點:

  1. apiVersion: datatrucker.datatrucker.io/v1 
  2. kind: DatatruckerFlow 
  3. metadata: 
  4.   name: management-endpoint 
  5. spec:   
  6.   Type: Management   
  7.   DatatruckerConfig: < the name of the config object created in step 4 > 

以上幾項為用戶界面(UI)和管理API創(chuàng)建部署和服務(wù)端點。

第6步:公開管理端點

公開路由:

  1. $ oc get svc | grep endpoint 
  2. login-endpoint                                            ClusterIP   10.217.5.89    <none>        80/TCP     3m43s 
  3. management-endpoint                                       ClusterIP   10.217.5.220   <none>        80/TCP     3m29s 
  4. management-endpoint-ui                                    ClusterIP   10.217.4.42    <none>        80/TCP     3m28s 
  5.  
  6.  
  7. $ oc expose svc management-endpoint-ui 
  8. route.route.openshift.io/management-endpoint-ui exposed 
  9.  
  10. $ oc expose svc login-endpoint 
  11. route.route.openshift.io/login-endpoint exposed 
  12.  
  13.  
  14. $ oc get routes       
  15. NAME                     HOST/PORT                                         PATH   SERVICES                 PORT   TERMINATION   WILDCARD 
  16. login-endpoint           login-endpoint-trucker.apps-crc.testing                  login-endpoint           8080                 None 
  17. management-endpoint-ui   management-endpoint-ui-trucker.apps-crc.testing          management-endpoint-ui   9080                 None 

第7步:使用Web瀏覽器登錄到UI

1. 創(chuàng)建管理員用戶:

2. 以該管理員用戶的身份登錄

第8步:為API創(chuàng)建Postgres登錄信息

鑒于DataTrucker已安裝和配置,現(xiàn)在可以構(gòu)建API了。

為您選擇的數(shù)據(jù)庫創(chuàng)建Postgres登錄信息:

1. 展開左邊導(dǎo)航欄。

2. 選擇“登錄信息”。

3. 打開“Postgres登錄信息”面板。

4. 點擊“創(chuàng)建登錄信息”。

5. 輸入您的數(shù)據(jù)庫資料。

第9步:創(chuàng)建Postgres API

創(chuàng)建一個Flow對象,附有下列工作規(guī)格。

  1. --- 
  2. apiVersion: datatrucker.datatrucker.io/v1 
  3. kind: DatatruckerFlow 
  4. metadata: 
  5.   name: my-first-api 
  6. spec: 
  7.   DatatruckerConfig: datatruckerconfig-sample 
  8.   JobDefinitions: 
  9.     - credentialname: db   < cred name from step 8 > 
  10.       job_timeout: 600 
  11.       name: postgres1 
  12.       restmethod: POST 
  13.       script: 'select ''[[userinput]]'' as userinput; '  < query you want to execute
  14.       tenant: Admin 
  15.       type: DB-Postgres 
  16.       validations: 
  17.         properties: 
  18.           userinput: 
  19.             maxLength: 18 
  20.             pattern: '^[a-z0-9]*$' 
  21.             type: string 
  22.         type: object 
  23.     - credentialname: db < cred name from step 8 > 
  24.       job_timeout: 600 
  25.       name: postgres2 
  26.       restmethod: GET 
  27.       script: select * from information_schema.tables < query you want to execute
  28.       tenant: Admin 
  29.       type: DB-Postgres 
  30.   Type: Job 

該規(guī)格創(chuàng)建新的微服務(wù)以托管API,該微服務(wù)在其路由上有兩個API:

  • postgres1:
  1. 將當(dāng)前日期和用戶發(fā)送的參數(shù)錄入到SQL中
  2. 這是POST請求
  3. 為用戶輸入變量userinput凈化輸入
  • postgres2:
  1. 獲得可用表格列表
  2. 這是GET請求

現(xiàn)在,搜索服務(wù):

  1. $. oc get svc | grep my-first-api  
  2. my-first-api                                              ClusterIP   10.217.5.116   <none>        80/TCP     45s 
  3.  
  4. $. oc expose svc my-first-api 
  5. route.route.openshift.io/my-first-api exposed 
  6.  
  7. $. oc get routes  | grep my-first-api 
  8. my-first-api             my-first-api-trucker.apps-crc.testing                    my-first-api             8080                 None 

您有了URL,可以試一下。

URL在下列表單中:

  1. http://<your api route>/api/v1/jobs/<name of the JobDefinitions defined in the yaml> 

在上述例子中,您創(chuàng)建了兩個JobDefinitions:

  • 類型POST的postgres1
  • 類型GET的postgres2

第10步:測試您的API

從登錄端點獲得登錄令牌:

  1. curl --location --request POST 'http://login-endpoint-trucker.<wilcard.domain>/api/v1/login' \ 
  2. --header 'Content-Type: application/json' \ 
  3. --data-raw '{ 
  4.  "username""xxx"
  5.  "password""xxxxxxxx"
  6.  "tenant""Admin" 
  7. }' 
  8.  
  9. Response: 
  10.     "status"true
  11.     "username""xxx"
  12.     "token""xxxxxxxxxxxx" 

現(xiàn)在針對您的API使用登錄令牌:

  • 第一個API:
  1. curl --location --request POST 'http://my-first-api-trucker.<wilcard.domain>/api/v1/jobs/postgres1' \ 
  2. --header 'Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \ 
  3. --header 'Content-Type: application/json' \ 
  4. --data-raw '{ 
  5.     "userinput""myfirstresponse" 
  6. }' 

響應(yīng):

  1.     "reqCompleted"true
  2.     "date""2021-09-05T22:05:58.064Z"
  3.     "reqID""req-3w"
  4.     "data": { 
  5.         "command""SELECT"
  6.         "rowCount": 1, 
  7.         "oid"null
  8.         "rows": [ 
  9.            ............. 
  • 第二個API:
  1. curl --location --request GET 'http://my-first-api-trucker.<wilcard.domain>/api/v1/jobs/postgres2' \ 
  2. --header 'Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'  

響應(yīng):

  1.     "reqCompleted"true
  2.     "date""2021-09-05T22:03:58.389Z"
  3.     "reqID""req-35"
  4.     "data": { 
  5.         "command""SELECT"
  6.         "rowCount": 185, 
  7.         "oid"null
  8.         "rows": [ 
  9.             { 
  10.                 " ....... 

原文標題:Use this tool to build an API without code,作者:Gaurav Shankar

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2025-03-05 08:57:55

2020-10-10 14:57:16

代碼開發(fā)工具

2025-03-25 13:56:17

2020-07-17 13:01:44

If-Else代碼編程

2024-11-04 11:02:56

2022-06-17 09:08:27

代碼Python內(nèi)置庫

2021-09-18 10:45:58

Windows 11Windows微軟

2014-10-31 14:25:39

2009-10-15 10:04:57

無線直連

2020-12-31 10:29:05

數(shù)據(jù)可視化可視化工具編碼

2021-03-03 21:10:24

微軟漏洞攻擊

2022-06-16 13:43:45

漏洞黑客網(wǎng)絡(luò)攻擊

2024-12-20 08:00:00

2020-11-16 08:00:00

開發(fā)編輯器VS Code

2020-09-18 18:18:10

代碼開發(fā)工具

2021-02-22 11:35:43

網(wǎng)絡(luò)數(shù)據(jù)技術(shù)

2022-08-31 15:48:26

插件開發(fā)

2021-04-24 21:00:22

谷歌Android 11語音助手

2024-04-06 15:27:56

2021-10-31 15:24:25

Windows 11Windows微軟
點贊
收藏

51CTO技術(shù)棧公眾號