Я читаю файл JSON из корзины S3.Я могу прочитать файл JSON, который находится в корзине S3, но когда я пытаюсь преобразовать строковое значение в JSON и вернуть его с помощью Observable.При подписке я получаю результат как неопределенный.Не могли бы вы предложить, как получить значение в виде JSON при подписке наблюдаемого
someexampleservice.ts
@Injectable()
export class SomeEXampleService {
_test2:any;
public getJSON(): Observable<any> {
return Observable.create(observer=>{
const params = {
Bucket: 'some-bucket',
Key: 'some.json'
};
let s3 = new AWS.S3();
s3.getObject(params, function(err, data) {
if (err) {
console.error(err); // an error occurred
} else {
console.log("S3 VAlue",data.Body); // Here I am getting the value as
String
this._test2= data.Body.toString();
console.log("S5 VAlue",this._test2);
}
});
observer.next( this._test2);
observer.complete();
}) ;
}
В основном я пытаюсь получить JSON, как показано ниже
public getJSON(): Observable<any> {
return this.http.get("./assets/some.json")//This same I am trying above
with the s3 path
}
someTests.ts
export class AuthorizationService {
constructor(private _auth: AuthorizationService,
private _router: Router) { }
ngOnInit(){
this.getJSON().subscribe(data => {
console.log("JsonValue",data); //This is coming as undefined
});
}