簡體   English   中英

aws log get-log-events --log-group-name 問題

[英]aws log get-log-events --log-group-name problem

我正在嘗試使用 aws logs 檢索日志,但 aws cli 命令未正確處理日志組名稱:

$ aws logs get-log-events --log-group-name /aws/lambda/mySkillName --log-stream-name '2018/11/28/[$LATEST]4e288b653df8409e977aa4093303761b'

調用 GetLogEvents 操作時發生錯誤 (InvalidParameterException):檢測到 1 個驗證錯誤:“logGroupName”處的值“C:/Program Files/Git/aws/lambda/mySkillName”無法滿足約束:成員必須滿足正則表達式模式:[ .-_/#A-Za-z0-9]+`

為什么 aws-cli 在日志組名稱前加上C:/Program Files/Git

我在 Windows 10 上運行它。我在 Git-Bash 和 cygwin bash 中得到類似的結果。

更多信息:

使用--debug標志:

$ aws logs get-log-events --debug --log-group-name /aws/lambda/mySkillName --log-stream-name '2018/11/28/[$LATEST]4e288b653df8409e977aa4093303761b' 2018-12-06 06 :54:13,744 - MainThread - awscli.clidriver - DEBUG - CLI 版本:aws-cli/1.16.65 Python/2.7.13 Windows/10 botocore/1.12.55 2018-12-06 06:54:13,746 - MainThread - awscli .clidriver - DEBUG - 輸入到 CLI 的參數:['logs', 'get-log-events', '--debug', '--log-group-name', 'C:/Program Files/Git/aws/ lambda/mySkillName', '--log-stream-name', '2018/11/28/[$LATEST]4e288b653df8409e977aa4093303761b']

嗯,不,這些不是我輸入到 CLI 的參數。 有些東西改變了--log-group-name參數。

它在做什么?

這是因為參數以 / 開頭,並且它是 git-bash 上的特殊掛載:

$ mount
C:/Program Files/Git on / type ntfs (binary,noacl,auto)
C:/Program Files/Git/usr/bin on /bin type ntfs (binary,noacl,auto)
C: on /c type ntfs (binary,noacl,posix=0,user,noumount,auto)

這是一個 git-bash 而不是 aws-cli 問題。

來自https://github.com/git-for-windows/build-extra/blob/master/ReleaseNotes.md

如果您指定以斜杠開頭的命令行選項,則 POSIX 到 Windows 的路徑轉換將開始將例如“/usr/bin/bash.exe”轉換為“C:\Program Files\Git\usr\bin\bash。可執行程序”

解決方案是禁用該轉換

MSYS_NO_PATHCONV=1 aws logs get-log-events ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM