Я работал с 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