Как обработать ответ от Azure ResourceGraph в Golang SDK - PullRequest
0 голосов
/ 08 марта 2020

Я работал с Azure Resourcegraph SDK в Golang и не могу понять, как обработать ответ, полученный от Azure.

Вот выдержка из кода, который я использую:

const QueryRequestJSON = `{"subscriptions": ["removed"],"Query": "project id, name, type, location, tags | limit 3"}`

fun c main () {

//Temporarily set env variables
os.Setenv("AZURE_TENANT_ID", "removed")
os.Setenv("AZURE_CLIENT_ID", "removed")
os.Setenv("AZURE_CLIENT_SECRET", "removed")
os.Setenv("AZURE_SUBSCRIPTION_ID", "removed")

var QueryRequest resourcegraph.QueryRequest

json.Unmarshal([]byte(QueryRequestJSON), &QueryRequest)

QueryBaseClient := resourcegraph.New()

AzureAuthorizer, err := auth.NewAuthorizerFromEnvironment()
if err != nil {
    errors.Wrap(err, "Can't initialize authorizer")
}

QueryBaseClient.Authorizer = AzureAuthorizer

var QueryResponse resourcegraph.QueryResponse

QueryResponse, qrErr := QueryBaseClient.Resources(context.TODO(), QueryRequest)
if qrErr != nil {
    errors.Wrap(err, "ResourceGraph Query failed!")
}

fmt.Println(qrErr)

fmt.Println(QueryResponse)

}

Я думаю, что я предполагаю использовать забавный c (* QueryResponse) Unmarshal JSON, чтобы отменить ответ, но при попытке получить следующее сообщение об ошибке:

QueryResponse.UnmarshalJSON(QueryResponse)

не может использовать QueryResponse (переменная типа resourcegraph.QueryResponse) как значение байта [] в аргументе для QueryResponse.Unmarshal JSON

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...