在使用Serverless Devs前,您需要配置Serverless Devs。本文以阿里雲密鑰為例,介紹如何使用s config相關命令添加、擷取和刪除密鑰。
前提條件
安裝Serverless Devs工具及依賴添加密鑰資訊
- 執行以下命令選擇雲廠商。
執行輸出:s config add
> Alibaba Cloud (alibaba) AWS (aws) Azure (azure) Baidu Cloud (baidu) Google Cloud (google) Huawei Cloud (huawei) Tencent Cloud (tencent) (Move up and down to reveal more choices)
- 選擇目標雲廠商,然後按斷行符號。本文以
Alibaba Cloud (alibaba)
為例。 - 根據互動提示,設定相關密鑰資訊。
您可以在Function Compute控制台概覽頁的常用資訊地區查看Account ID和AccessKey ID,如下圖所示。Please select a provider: Alibaba Cloud (alibaba) Refer to the document for alibaba key: http://config.devsapp.net/account/alibaba AccountID 188077086902**** AccessKeyID LTAI4G4cwJkK4Rza6xd9**** AccessKeySecret eCc0GxSpzfq1DVspnqqd6nmYNN**** Please create alias for key pair. If not, please enter to skip default Alias: default AccountID: 188077086902**** AccessKeyID: LTAI4G4cwJkK4Rza6xd9**** AccessKeySecret: eCc0GxSpzfq1DVspnqqd6nmYNN**** Configuration successful
Serverless Devs同時也支援命令式密鑰添加,例如執行以下命令配置阿里雲的密鑰資訊:s config add --AccessKeyID LTAI4G4cwJkK4Rza6xd9**** --AccessKeySecret eCc0GxSpzfq1DVspnqqd6nmYNN**** --AccountID 188077086902**** --access ***
重要 為了方便管理多種密鑰資訊,Serverless Devs支援多密鑰管理。您在配置密鑰時,可以為每個密鑰配置別名資訊aliasName,即可以在使用時指定某個密鑰實現特定功能,例如:- 通過密鑰進行環境劃分,可使用不同的別名綁定不同的帳號,然後將資源部署到不同的帳號下,例如帳號A作為生產,帳號B作為預發。
- 通過對密鑰進行許可權控制,使不同的密鑰擁有不同的許可權做不同的工作,例如:
- 配置別名為website-access密鑰,僅用於部署網站。
- 配置別名為fc-access密鑰,僅用於部署函數。
擷取密鑰資訊
參數說明:
- -a或--access:指定別名名稱。
- -h或--help:顯示協助資訊。
執行以下命令,擷取密鑰資訊:
- 擷取指定別名的密鑰資訊。例如-a指定目標別名為default:
s config get -a default
輸出樣本:default: AccountID: 188077086902**** AccessKeyID: LTAI4FoAC3JPPWKPZDVg**** AccessKeySecret: gwL7FuveTjmHC7xyvvwOxP6ysI****
- 擷取全部的密鑰資訊:
s config get
輸出樣本:default: AccountID: 188077086902**** AccessKeyID: LTAI4G4cwJkK4Rza6xd9**** AccessKeySecret: eCc0GxSpzfq1DVspnqqd6nmYNN**** default-1: AccountID: 188077086902**** AccessKeyID: LTAI4FoAC3JPPWKPZDVg**** AccessKeySecret: gwL7FuveTjmHC7xyvvwOxP6ysI****
說明 您可以執行
s config get -h
命令擷取該命令下的更多資訊。刪除密鑰資訊
參數說明:
- -a或--access:指定別名名稱。
- -h或--help:顯示協助資訊。
執行以下命令,刪除密鑰,-a指定別名。
s config delete -a aliasName