Есть ли способ использовать API Google.Cloud.BigQuery.V2 (1.0.0-beta10) в функциях Azure?
Мне нравится использовать этот API и мой код C# в Функции Azure, но появляется эта ошибка:
error CS0103: The name 'BigQueryClient' does not exist in the current context
error CS0246: The type or namespace name 'BigQueryTable' could not be found (are you missing a using directive or an assembly reference?)
error CS0246: The type or namespace name 'BigQueryJob' could not be found (are you missing a using directive or an assembly reference?)
error CS0246: The type or namespace name 'CreateQueryJobOptions' could not be found (are you missing a using directive or an assembly reference?)
error CS0246: The type or namespace name 'BigQueryResults' could not be found (are you missing a using directive or an assembly reference?)
error CS0246: The type or namespace name 'GetQueryResultsOptions' could not be found (are you missing a using directive or an assembly reference?)
Compilation failed.
В моем project.json есть следующий код:
{
"frameworks": {
"net46":{
"dependencies": {
"Google.Cloud.BigQuery.V2": "1.0.0-beta10"
}
}
}
}
Я думаю, что API находится в .NET версии 4.5, а для функций Azure требуется версия 4.6. Кажется, нет возможности использовать этот API в AF?
Я попробовал его и с «net45», но получил те же ошибки.
ОБНОВЛЕНИЕ: этот API работает над AF (см. также комментарий ниже). Компиляция прошла успешно. Но моя функция по-прежнему не работает из-за отсутствия учетных данных. В моей Visual Studio код работает и работает так, как должен, но в AF я получил следующую ошибку:
Исключение при выполнении функции: Functions.TimerTriggerCSharp1. mscorlib: Исключение было создано целью вызова. Google.Api.Gax: учетные данные приложения по умолчанию недоступны. Они доступны при работе в Google Compute Engine. В противном случае необходимо определить переменную среды GOOGLE_APPLICATION_CREDENTIALS, указывающую на файл, определяющий учетные данные. Дополнительную информацию см. на странице https://developers.google.com/accounts/ ... redentials.
Я уже сгенерировал ключ сервисного аккаунта. как файл JSON, загруженный в мой AF. Я думаю, что обычно я получаю доступ к своим таблицам в BigQuery, зная идентификаторы проекта и дадасета, подобные этому, в моем коде C#:
string projectId = "...";
string datasetId = "...";
var client = BigQueryClient.Create(projectId);
List tables = client.ListTables(datasetId).ToList();
Подробнее здесь: https://stackoverflow.com/questions/434 ... -functions