firebase / firebase/firebase-admin-node
Storage `bucket.exists()` always returns false for firebase emulator
- Langage dominant
- TypeScript
- Étoiles
- 1.7k
- Forks
- 419
- Merge moyen
- 3 j 10 h
- PR mergées (30 j)
- 16
Description
### [READ] Step 1: Are you in the right place?
* For issues related to __the code in this repository__ file a Github issue.
* If the issue pertains to Cloud Firestore, read the instructions in the "Firestore issue"
template.
* For general technical questions, post a question on [StackOverflow](http://stackoverflow.com/)
with the firebase tag.
* For general Firebase discussion, use the [firebase-talk](https://groups.google.com/forum/#!forum/firebase-talk)
google group.
* For help troubleshooting your application that does not fall under one
of the above categories, reach out to the personalized
[Firebase support channel](https://firebase.google.com/support/).
### [REQUIRED] Step 2: Describe your environment
* Operating System version: Ubuntu
* Firebase SDK version: firebase-admin@12.0.0 firebase-tools@13.1.0
* Firebase Product: storage
* Node.js version: 18.16.1
* NPM version: 9.5.1
### [REQUIRED] Step 3: Describe the problem
#### Steps to reproduce:
Create basic project with storage and functions setup for emulation: (functions only used to call storage bucket methods)
```json
// firebase.json
"emulators": {
"functions": {
"port": 5001
},
"storage": {
"port": 9199
},
// ...rest of config
```
Run emulator with `firebase emulators:start --only storage,functions`
Verify storage bucket exists in emulator and the name is matched in firebase config showing `storage_bucket` as the default
Hit the firebase function to run the storage bucket code
Calling `bucket.exists()` from firebase function _always_ returns false.
**Expected outcome:**
Calling `bucket.exists()` from firebase function return `true` when accessing the default bucket.
#### Relevant Code:
```ts
import { onRequest } from 'firebase-functions/v2/https';
import { getStorage } from 'firebase-admin/storage';
export const foo = onRequest(async (req, res) => {
const storage = getStorage();
console.log('APP STORAGE BUCKET:', storage.app.options.storageBucket);
const bucket = storage.bucket();
console.log('DEFAULT STORAGE BUCKET:', `name=${bucket.name}`, `id=${bucket.id}`);
const exists = await bucket.exists();
console.log('BUCKET EXISTS?:', exists);
res.send(`BUCKET EXISTS?: ${exists}`);
});
```
#### Images
Console output:

Emulator Storage: (name of bucket matches id in code)

Guide de contribution
Ouvrir le guide de contribution
Évaluation
Cette issue n'a pas encore été évaluée.