我正在与Node.js和GCP数据丢失预防一起工作,试图在显示它们之前编辑来自PDF的敏感数据。GCP在这个这里上有很好的文档
本质上,您可以进入nodejs库并运行以下代码
const fileBytes = Buffer.from(fs.readFileSync(filepath)).toString('base64');
// Construct image redaction request
const request = {
parent: `projects/${projectId}/locations/global`,
byteItem: {
type: fileTypeConstant,
data: fileBytes,
},
inspectConfig: {
minLikelihood: minLikelihood,
infoTypes: infoTypes,
},
imageRedactionConfigs: imageRedactionConfigs,
};
// Run image redaction request
const [response] = await dlp.redactImage(request);
const image = response.redactedImage;因此,通常,我会将文件作为缓冲区,然后像上面这样传递给DLP函数。但是,我不再拿我们的文件作为缓冲。由于许多文件非常大,所以我们现在将它们作为流从FilesStorage中获取,如下所示
return FilesStorage.getFileStream(metaFileInfo1, metaFileInfo2, metaFileInfo3, fileId)
.then(stream => {
return {fileInfo, stream};
})问题是,是否有可能在流而不是缓冲区上执行DLP图像编辑?如果是这样的话,是怎么做的?我找到了其他一些问题,它们说您可以使用ByteContentItem和GCP进行流,自己的文档中提到了"streams“。但是,我尝试将返回的流从.getFileStream传递到上面的byteItem‘’data‘属性,但是它不起作用。
发布于 2022-03-25 02:25:09
https://stackoverflow.com/questions/71596486
复制相似问题