我使用boto3创建了一个集合,其代码如下:
rekognition = boto3.client('rekognition',
aws_access_key_id="__myclientId",
aws_secret_access_key="__secret"
)
rekognition.create_collection(
CollectionId='myPhotos'
)
当我使用python boto3中的以下代码获取它时出现的情况:
response = rekognition.list_collections()
print(response)
但是当我尝试使用以下代码在nodeJs中使用Javascript SDK“aws-sdk”获取相同的集合时,我得到空结果:
const AWS = require('aws-sdk');
AWS.config.update({
accessKeyId : "__myclientId",
secretAccessKey : "__secret",
region: "us-east-1"
});
let rekognition = new AWS.Rekognition();
rekognition.listCollections({}, function (err, data)
{
console.log(err, data);
});
回应JS:
{ CollectionIds: [], FaceModelVersions: [] }
解决了它在第一个代码中错过了该区域。由于缺少区域,它假定一些默认区域,因此在us-east-1区域中搜索它时,集合不会显示,以解决此需要传递区域,如下所示:
rekognition = boto3.client('rekognition',
aws_access_key_id="__myclientId",
aws_secret_access_key="__secret",
region_name= "us-east-1"
)