Я пытаюсь выполнить asyncBatchAnnotation()
запрос на аннотирование группы изображений с помощью API Google Cloud Vision.
Вот фрагмент моего кода: Моя функция для создания запроса на пакетирование:
module.exports = createRequests
const LABEL_DETECTION = 'LABEL_DETECTION'
const WEB_DETECTION = 'WEB_DETECTION'
function createRequests(imageUris) {
let resources = {
requests: [],
outputConfig
}
for (let i = 0; i < imageUris.length; i++) {
let request = {
image: {source: {imageUri: imageUris[i]}},
features: [{type: LABEL_DETECTION}, {type: WEB_DETECTION}]
}
resources.requests.push(request)
}
console.log(resources)
return resources
}
Моя функция для создания самого запроса:
// Imports the Google Cloud Client Library
const vision = require('@google-cloud/vision')
// Creates a client
const client = new vision.ImageAnnotatorClient()
const getImageUrls = require('./get-image-urls.js')
const createRequests = require('./create-requests.js')
const BUCKET_NAME = 'creative-engine'
function detectLabelsFromImage() {
return new Promise(async(resolve, reject) => {
try {
let imageUris = await getImageUrls(BUCKET_NAME)
let resources = createRequests(imageUris)
try {
let responses = await client.asyncBatchAnnotateImages(resources)
const imageResponses = responses[0].responses
imageResponses.forEach(imageResponse => {
console.log('LABELS: ')
const labels = imageResponse.labelAnnotations
labels.forEach(label => {
console.log(`label: ${label.description} | score: ${label.score}`)
});
console.log('WEB ENTITIES: ')
const webEntities = imageResponse.webDetection.webEntities
webEntities.forEach(webEntity => {
console.log(`label: ${webEntity.description} | score: ${webEntity.score}`)
});
})
} catch (err) {
console.error('ERROR: ', err)
}
} catch (e) {
reject(e)
}
})
}
Вот ошибка, которую я получаю:
ERROR: Error: 3 INVALID_ARGUMENT: OutputConfig is required.
Когда я смотрю на Документация Google здесь гласит, что мне нужно использовать Google Cloud Storage для вывода JSON.
Я не хочу создавать платежную учетную запись с моей информацией для Google Cloud. Есть ли способ сделать это, когда я пишу в локальный файл JSON?
Спасибо за вашу помощь!