Моя цель состоит в том, чтобы использовать облачную функцию Firebase для экспорта модели tflite, обученной из google cloud automl.
Я проследовал за документом из https://cloud.google.com/vision/automl/object-detection/docs/export-edge и , чтобы иметь возможность свернуть экспорт модель плавно на терминале, но не с топором ios на облачной функции . С помощью следующего кода я получил 401 несанкционированную ошибку, даже если я установил GOOGLE_APPLICATION_CREDENTIALS в .env и требует пакет dotenv.
Мой вопрос: можно ли экспортировать модель с топором ios POST-запрос? Если то, что я сделал не так?
//index.js
require("dotenv").config();
//.env
GOOGLE_APPLICATION_CREDENTIALS="./config.json"
async function exportModel() {
const header = {
"Content-Type": "application/json;charset=utf-8",
Authorization:
"Bearer $(gcloud auth application-default print-access-token)",
};
// Construct request
const request = {
outputConfig: {
modelFormat: "tflite",
gcsDestination: {
outputUriPrefix: `gs://${output-storage-bucket}/`,
},
},
};
axios
.post(
`https://automl.googleapis.com/v1/projects/${projectId}/locations/us-central1/models/${model_id}:export`,
request,
{
headers: header,
}
)
.then((response) => {
console.log(response);
return response;
})
.catch((error) => {
console.log(error);
return error;
});
}
Ошибка
Error: Request failed with status code 401
at createError (/srv/node_modules/axios/lib/core/createError.js:16:15)
at settle (/srv/node_modules/axios/lib/core/settle.js:17:12)
at IncomingMessage.handleStreamEnd (/srv/node_modules/axios/lib/adapters/http.js:236:11)
at emitNone (events.js:111:20)
at IncomingMessage.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:139:11)
at process._tickDomainCallback (internal/process/next_tick.js:219:9)