首頁  >  文章  >  後端開發  >  AWS CLI 如何開啟瀏覽器並等待回應然後再繼續?

AWS CLI 如何開啟瀏覽器並等待回應然後再繼續?

PHPz
PHPz轉載
2024-02-10 21:30:10635瀏覽

AWS CLI 如何打开浏览器并等待响应然后再继续?

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中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除