<prompt> Tengeneza kitendakazi cha TypeScript ambacho hushirikiana na Hifadhi ya Wingu la Google, kupakia faili ya ndani kwenye kapu maalum, na kupata URL yake ya umma.PLINFORMAT  <response>: agiza Hifadhi kutoka google-cloudstorage; Sanidi mteja wa Hifadhi ya Wingu la GoogleConst storage Hifadhi mpya Kitambulisho cha mradi: kitambulisho cha mradi wako, keyFilename: pathtoyourkeyfile.json, Badilisha na njia ya faili yako ya ufunguo ya JSON;utendakazi wa async uploadFileAndGetPublicUrlbucketName: string, filePath: string: Promise jaribu Pakia faili ya ndani kwenye ndoo maalum const response subiri storage.bucketbucketName.pakiafilePath; Pata metadata ya faili iliyopakiwa const metadata majibu0.metadata; Angalia ikiwa faili inapatikana kwa umma ikiwa metadata metadata.accessControl kwa const acl of metadata.accessControl ikiwa acl.entity AllUsers acl.role READER rudisha metadata.mediaLink; Ikiwa haipatikani kwa umma, fanya hivyo na urudishe URL ya umma subiri hifadhi.ndoojina la ndoo.failimetadata.name.fanya Umma; rudisha metadata.mediaLink; kukamata kosa console.errorHitilafu ya kupakia faili:, hitilafu; kosa la kutupa; Mfano wa matumizi:async const bucketName jina-ndoo-yako; const filePath njiatolocalfile.txt; Badilisha na njia ya faili yako ya karibu jaribu const publicUrl await uploadFileAndGetPublicUrlbucketName, filePath; console.logURL ya Umma:, publicUrl; kukamata kosa console.errorKosa:, hitilafu; ; 