微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google Gloud Vision API-将输出作为JSON对象而不是返回到GCS文件

如何解决Google Gloud Vision API-将输出作为JSON对象而不是返回到GCS文件

我正在将Cloud Vision API“ PDF转换为文本”功能用于Node.js应用程序。我大部分时间都紧贴GCP文档示例,并在其中进行了一些调整:https://cloud.google.com/vision/docs/pdf

一切正常,但是我希望将文件内容作为JSON对象返回给我,因此我可以将其传递给另一个函数,而不是将其内容写入JSON文件并将其存储的当前行为在云存储上。

有人知道我需要如何构造outputConfig对象才能实现这一目标吗?

async function detectPdfText(bucketName,fileName) {
    // Imports the Google Cloud client libraries
    const vision = require('@google-cloud/vision').v1;

    // Creates a client
    const client = new vision.ImageAnnotatorClient({
        keyFilename: './APIKey.json'
    });

    // The directory to store the results
    const outputPrefix = 'json_output'

    const gcsSourceUri = `gs://${bucketName}/${fileName}`;
    const gcsDestinationUri = `gs://${bucketName}/${outputPrefix}/`;

    const inputConfig = {
        // Supported mime_types are: 'application/pdf' and 'image/tiff'
        mimeType: 'application/pdf',gcsSource: {
            uri: gcsSourceUri,},};
    const outputConfig = {
        gcsDestination: {
            uri: gcsDestinationUri,};
    const features = [{type: 'DOCUMENT_TEXT_DETECTION'}];
    const request = {
    requests: [
        {
            inputConfig: inputConfig,features: features,outputConfig: outputConfig,],};

    const [operation] = await client.asyncBatchAnnotateFiles(request);
    const [filesResponse] = await operation.promise();
    const destinationUri =
        filesResponse.responses[0].outputConfig.gcsDestination.uri;
    console.log(`Json output for file ${fileName} has been saved to: ${destinationUri}`);
}

module.exports = { detectPdfText };

解决方法

您正在使用asyncBatchAnnotateFiles,该文件仅将输出写入GCS:https://cloud.google.com/vision/docs/reference/rpc/google.cloud.vision.v1#outputconfig。在GetOperation调用中没有返回LRO结果的选项。

您可以改为使用batchAnnotateFiles并同步获取结果,然后转换为json。

如果必须使用asyncBatchAnnotateFiles,则必须在LRO完成后下载GCS文件。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。