php小編香蕉在本文中將為大家介紹如何使用AWS CLI命令列工具來開啟瀏覽器並等待回應後再繼續執行其他動作。 AWS CLI是亞馬遜提供的管理AWS雲端服務的命令列工具,它可以透過命令列介面來執行各種AWS操作。在某些情況下,我們可能需要在命令列中開啟瀏覽器,並等待使用者完成某些操作後再繼續執行後續命令。本文將詳細介紹如何使用AWS CLI實現這個功能,讓你的命令列操作更加靈活便利。
我正在嘗試為我的公司建立一個 golang cli 工具,並將其作為該工具建立登入和其他一些功能的一部分。我一生都無法弄清楚 AWS 如何能夠打開瀏覽器視窗並等待單擊幾次按鈕,然後再從 CLI 繼續操作。
https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/API_StartDeviceAuthorization.html
這是我輸入的 CLI 指令
aws sso login --profile login Attempting to automatically open the SSO authorization page in your default browser. If the browser does not open or you wish to use a different device to authorize this request, open the following URL: https://device.sso.us-east-1.amazonaws.com/ Then enter the code: abcd-efgh Successfully logged into Start URL: https://d-1421421423.awsapps.com/start
這裡還有用於啟動裝置驗證和建立令牌的 Python 文件
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sso-oidc/client/start_device_authorization.html https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sso-oidc/client/create_token.html
我剛剛組合在一起的一個似乎有效的選項是一個每秒檢查一次的循環
for attempts <= 30 { fmt.Println(attempts) token, err := idc.CreateToken(context.TODO(), &createTokenInput) if err != nil { // if debug is enabled show error log.Debug(err.Error()) attempts++ // wait 1 second time.Sleep(1 * time.Second) } else { response = *token break } }
編輯:
運行 AWS sso login —debug
後,我注意到日誌實際上在循環並一遍又一遍地運行 createToken 查詢,因此 AWS 正在執行與上述類似的操作。
以上是AWS CLI 如何開啟瀏覽器並等待回應然後再繼續?的詳細內容。更多資訊請關注PHP中文網其他相關文章!