Skip to content

Commit 353e127

Browse files
authored
Merge pull request #68 from firebase/jh-regen-readme
Update readmes
2 parents 6e1f4fc + 7bb30c4 commit 353e127

File tree

10 files changed

+245
-249
lines changed

10 files changed

+245
-249
lines changed

auth-mailchimp-sync/README.md

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,52 @@
1-
# auth-mailchimp-sync
1+
# Sync with Mailchimp
22

3-
**VERSION**: 0.1.0
3+
**Description**: Adds new users from Firebase Authentication to a specified Mailchimp audience.
44

5-
**DESCRIPTION**: Adds new users from Firebase Authentication to a specified Mailchimp audience.
65

76

7+
**Details**: Use this extension to add new users to an existing [Mailchimp](https://mailchimp.com) audience.
88

9-
**CONFIGURATION PARAMETERS:**
9+
This extension adds the email address of each new user to your specified Mailchimp audience. Also, if the user deletes their user account for your app, this extension removes the user from the Mailchimp audience.
1010

11-
* Deployment location: Where should the extension be deployed? For help selecting a location, refer to the [location selection guide](https://firebase.google.com/docs/functions/locations).
11+
**Note:** To use this extension, you need to manage your users with Firebase Authentication.
1212

13-
* Mailchimp API key: What is your Mailchimp API key? To obtain a Mailchimp API key, go to your [Mailchimp account](https://admin.mailchimp.com/account/api/).
13+
This extension uses Mailchimp, so you'll need to supply your Mailchimp API Key and Audience ID when installing this extension.
1414

15-
* Audience ID: What is the Mailchimp Audience ID to which you want to subscribe new users? To find your Audience ID: visit https://admin.mailchimp.com/lists, click on the desired audience or create a new audience, then select **Settings**. Look for **Audience ID** (for example, `27735fc60a`).
15+
#### Additional setup
1616

17-
* Contact status: When the extension adds a new user to the Mailchimp audience, what is their initial status? This value can be `subscribed` or `pending`. `subscribed` means the user can receive campaigns; `pending` means the user still needs to opt-in to receive campaigns.
17+
Make sure that you've set up [Firebase Authentication](https://firebase.google.com/docs/auth) to manage your users.
1818

19+
You must also have a Mailchimp account before installing this extension.
1920

21+
#### Billing
2022

21-
**CLOUD FUNCTIONS CREATED:**
23+
This extension uses other Firebase or Google Cloud Platform services which may have associated charges:
2224

23-
* addUserToList (providers/firebase.auth/eventTypes/user.create)
25+
- Firebase Realtime Database
26+
- Cloud Functions
2427

25-
* removeUserFromList (providers/firebase.auth/eventTypes/user.delete)
28+
When you use Firebase Extensions, you're only charged for the underlying resources that you use. A paid-tier billing plan is only required if the extension uses a service that requires a paid-tier plan, for example calling to a Google Cloud Platform API or making outbound network requests to non-Google services. All Firebase services offer a free tier of usage. [Learn more about Firebase billing.](https://firebase.google.com/pricing)
2629

30+
Usage of this extension also requires you to have a Mailchimp account. You are responsible for any associated costs with your usage of Mailchimp.
2731

2832

29-
**DETAILS**: Use this extension to add new users to an existing [Mailchimp](https://mailchimp.com) audience.
3033

31-
This extension adds the email address of each new user to your specified Mailchimp audience. Also, if the user deletes their user account for your app, this extension removes the user from the Mailchimp audience.
3234

33-
**Note:** To use this extension, you need to manage your users with Firebase Authentication.
3435

35-
This extension uses Mailchimp, so you'll need to supply your Mailchimp API Key and Audience ID when installing this extension.
36+
**Configuration Parameters:**
3637

37-
#### Additional setup
38+
* Deployment location: Where should the extension be deployed? For help selecting a location, refer to the [location selection guide](https://firebase.google.com/docs/functions/locations).
3839

39-
Make sure that you've set up [Firebase Authentication](https://firebase.google.com/docs/auth) to manage your users.
40+
* Mailchimp API key: What is your Mailchimp API key? To obtain a Mailchimp API key, go to your [Mailchimp account](https://admin.mailchimp.com/account/api/).
4041

41-
You must also have a Mailchimp account before installing this extension.
42+
* Audience ID: What is the Mailchimp Audience ID to which you want to subscribe new users? To find your Audience ID: visit https://admin.mailchimp.com/lists, click on the desired audience or create a new audience, then select **Settings**. Look for **Audience ID** (for example, `27735fc60a`).
4243

43-
#### Billing
44+
* Contact status: When the extension adds a new user to the Mailchimp audience, what is their initial status? This value can be `subscribed` or `pending`. `subscribed` means the user can receive campaigns; `pending` means the user still needs to opt-in to receive campaigns.
4445

45-
This extension uses other Firebase or Google Cloud Platform services which may have associated charges:
4646

47-
- Firebase Realtime Database
48-
- Cloud Functions
4947

50-
When you use Firebase Extensions, you're only charged for the underlying resources that you use. A paid-tier billing plan is only required if the extension uses a service that requires a paid-tier plan, for example calling to a Google Cloud Platform API or making outbound network requests to non-Google services. All Firebase services offer a free tier of usage. [Learn more about Firebase billing.](https://firebase.google.com/pricing)
48+
**Cloud Functions:**
5149

52-
Usage of this extension also requires you to have a Mailchimp account. You are responsible for any associated costs with your usage of Mailchimp.
50+
* **addUserToList:** Listens for new user accounts (as managed by Firebase Authentication), then automatically adds the new user to your specified MailChimp audience.
51+
52+
* **removeUserFromList:** Listens for existing user accounts to be deleted (as managed by Firebase Authentication), then automatically removes them from your specified MailChimp audience.

delete-user-data/README.md

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,10 @@
1-
# delete-user-data
1+
# Delete User Data
22

3-
**VERSION**: 0.1.1
3+
**Description**: Deletes data keyed on a userId from Cloud Firestore, Realtime Database, and/or Cloud Storage when a user deletes their account.
44

5-
**DESCRIPTION**: Deletes data keyed on a userId from Cloud Firestore, Realtime Database, and/or Cloud Storage when a user deletes their account.
65

76

8-
9-
**CONFIGURATION PARAMETERS:**
10-
11-
* Deployment location: Where should the extension be deployed? You usually want a location close to your database. For help selecting a location, refer to the [location selection guide](https://firebase.google.com/docs/functions/locations#selecting_regions_for_firestore_and_storage).
12-
13-
* Cloud Firestore paths: Which paths in your Cloud Firestore instance contain user data? Leave empty if you don't use Cloud Firestore.
14-
Enter the full paths, separated by commas. You can represent the User ID of the deleted user with `{UID}`.
15-
For example, if you have the collections `users` and `admins`, and each collection has documents with User ID as document IDs, then you can enter `users/{UID},admins/{UID}`.
16-
17-
* Realtime Database paths: Which paths in your Realtime Database instance contain user data? Leave empty if you don't use Realtime Database.
18-
Enter the full paths, separated by commas. You can represent the User ID of the deleted user with `{UID}`.
19-
For example: `users/{UID},admins/{UID}`.
20-
21-
* Cloud Storage paths: Where in Google Cloud Storage do you store user data? Leave empty if you don't use Cloud Storage.
22-
Enter the full paths, separated by commas. You can represent the User ID of the deleted user with `{UID}`. You can use `{DEFAULT}` to represent your default bucket.
23-
For example, if you are using your default bucket, and the bucket has files with the naming scheme `{UID}-pic.png`, then you can enter `{DEFAULT}/{UID}-pic.png`. If you also have files in another bucket called `my-awesome-app-logs`, and that bucket has files with the naming scheme `{UID}-logs.txt`, then you can enter `{DEFAULT}/{UID}-pic.png,my-awesome-app-logs/{UID}-logs.txt`.
24-
25-
26-
27-
**CLOUD FUNCTIONS CREATED:**
28-
29-
* clearData (providers/firebase.auth/eventTypes/user.delete)
30-
31-
32-
33-
**DETAILS**: Use this extension to automatically delete a user's data if the user is deleted from your authenticated users.
7+
**Details**: Use this extension to automatically delete a user's data if the user is deleted from your authenticated users.
348

359
You can configure this extension to delete user data from any or all of the following: Cloud Firestore, Realtime Database, or Cloud Storage. Each trigger of the extension to delete data is keyed to the user's UserId.
3610

@@ -57,13 +31,40 @@ When you use Firebase Extensions, you're only charged for the underlying resourc
5731

5832

5933

60-
**ACCESS REQUIRED**:
34+
35+
**Configuration Parameters:**
36+
37+
* Deployment location: Where should the extension be deployed? You usually want a location close to your database. For help selecting a location, refer to the [location selection guide](https://firebase.google.com/docs/functions/locations).
38+
39+
* Cloud Firestore paths: Which paths in your Cloud Firestore instance contain user data? Leave empty if you don't use Cloud Firestore.
40+
Enter the full paths, separated by commas. You can represent the User ID of the deleted user with `{UID}`.
41+
For example, if you have the collections `users` and `admins`, and each collection has documents with User ID as document IDs, then you can enter `users/{UID},admins/{UID}`.
42+
43+
* Cloud Firestore delete mode: (Only applicable if you use the `Cloud Firestore paths` parameter.) How do you want to delete Cloud Firestore documents? To also delete documents in subcollections, set this parameter to `recursive`.
44+
45+
* Realtime Database paths: Which paths in your Realtime Database instance contain user data? Leave empty if you don't use Realtime Database.
46+
Enter the full paths, separated by commas. You can represent the User ID of the deleted user with `{UID}`.
47+
For example: `users/{UID},admins/{UID}`.
48+
49+
* Cloud Storage paths: Where in Google Cloud Storage do you store user data? Leave empty if you don't use Cloud Storage.
50+
Enter the full paths, separated by commas. You can represent the User ID of the deleted user with `{UID}`. You can use `{DEFAULT}` to represent your default bucket.
51+
For example, if you are using your default bucket, and the bucket has files with the naming scheme `{UID}-pic.png`, then you can enter `{DEFAULT}/{UID}-pic.png`. If you also have files in another bucket called `my-awesome-app-logs`, and that bucket has files with the naming scheme `{UID}-logs.txt`, then you can enter `{DEFAULT}/{UID}-pic.png,my-awesome-app-logs/{UID}-logs.txt`.
52+
53+
54+
55+
**Cloud Functions:**
56+
57+
* **clearData:** Listens for user accounts to be deleted from your project's authenticated users, then removes any associated user data (based on Firebase Authentication's User ID) from Realtime Database, Cloud Firestore, and/or Cloud Storage.
58+
59+
60+
61+
**Access Required**:
6162

6263

6364

6465
This extension will operate with the following project IAM roles:
6566

66-
* datastore.user (Reason: Allows the extension to delete (user) data from Cloud Firestore.)
67+
* datastore.owner (Reason: Allows the extension to delete (user) data from Cloud Firestore.)
6768

6869
* firebasedatabase.admin (Reason: Allows the extension to delete (user) data from Realtime Database.)
6970

firestore-bigquery-export/README.md

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,10 @@
1-
# firestore-bigquery-export
1+
# Export Collections to BigQuery
22

3-
**VERSION**: 0.1.0
3+
**Description**: Sends realtime, incremental updates from a specified Cloud Firestore collection to BigQuery.
44

5-
**DESCRIPTION**: Sends realtime, incremental updates from a specified Cloud Firestore collection to BigQuery.
65

76

8-
9-
**CONFIGURATION PARAMETERS:**
10-
11-
* Deployment location: Where should the extension be deployed? You usually want a location close to your database. For help selecting a location, refer to the [location selection guide](https://firebase.google.com/docs/functions/locations#selecting_regions_for_firestore_and_storage).
12-
13-
* Collection path: What is the path of the collection that you would like to export? You may use `{wildcard}` notation to match a subcollection of all documents in a collection (for example: `chatrooms/{chatid}/posts`).
14-
15-
* Dataset ID: What ID would you like to use for your BigQuery dataset? This extension will create the dataset, if it doesn't already exist.
16-
17-
* Table ID: What identifying prefix would you like to use for your table and view inside your BigQuery dataset? This extension will create the table and view, if they don't already exist.
18-
19-
20-
21-
**CLOUD FUNCTIONS CREATED:**
22-
23-
* fsexportbigquery (providers/cloud.firestore/eventTypes/document.write)
24-
25-
26-
27-
**DETAILS**: Use this extension to export the documents in a Cloud Firestore collection to BigQuery. Exports are realtime and incremental, so the data in BigQuery is a mirror of your content in Cloud Firestore.
7+
**Details**: Use this extension to export the documents in a Cloud Firestore collection to BigQuery. Exports are realtime and incremental, so the data in BigQuery is a mirror of your content in Cloud Firestore.
288

299
The extension creates and updates a [dataset](https://cloud.google.com/bigquery/docs/datasets-intro) containing the following two BigQuery resources:
3010

@@ -60,13 +40,32 @@ When you use Firebase Extensions, you're only charged for the underlying resourc
6040

6141

6242

63-
**APIS USED**:
43+
44+
**Configuration Parameters:**
45+
46+
* Deployment location: Where should the extension be deployed? You usually want a location close to your database. For help selecting a location, refer to the [location selection guide](https://firebase.google.com/docs/functions/locations).
47+
48+
* Collection path: What is the path of the collection that you would like to export? You may use `{wildcard}` notation to match a subcollection of all documents in a collection (for example: `chatrooms/{chatid}/posts`).
49+
50+
* Dataset ID: What ID would you like to use for your BigQuery dataset? This extension will create the dataset, if it doesn't already exist.
51+
52+
* Table ID: What identifying prefix would you like to use for your table and view inside your BigQuery dataset? This extension will create the table and view, if they don't already exist.
53+
54+
55+
56+
**Cloud Functions:**
57+
58+
* **fsexportbigquery:** Listens for document changes in your specified Cloud Firestore collection, then exports the changes into BigQuery.
59+
60+
61+
62+
**APIs Used**:
6463

6564
* bigquery-json.googleapis.com (Reason: Mirrors data from your Cloud Firestore collection in BigQuery.)
6665

6766

6867

69-
**ACCESS REQUIRED**:
68+
**Access Required**:
7069

7170

7271

firestore-counter/README.md

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,10 @@
1-
# firestore-counter
1+
# Distributed Counter
22

3-
**VERSION**: 0.1.0
3+
**Description**: Records event counters at scale to accommodate high-velocity writes to Cloud Firestore.
44

5-
**DESCRIPTION**: Records event counters at scale to accommodate high-velocity writes to Cloud Firestore.
65

76

8-
9-
**CONFIGURATION PARAMETERS:**
10-
11-
* Deployment location: Where should the extension be deployed? You usually want a location close to your database. For help selecting a location, refer to the [location selection guide](https://firebase.google.com/docs/functions/locations).
12-
13-
* Document path for internal state: What is the path to the document where the extension can keep its internal state?
14-
15-
16-
17-
**CLOUD FUNCTIONS CREATED:**
18-
19-
* controller (HTTPS)
20-
21-
* onWrite (providers/cloud.firestore/eventTypes/document.write)
22-
23-
* worker (providers/cloud.firestore/eventTypes/document.write)
24-
25-
26-
27-
**DETAILS**: Use this extension to add a highly scalable counter service to your app. This is ideal for applications that count viral actions or any very high-velocity action such as views, likes, or shares.
7+
**Details**: Use this extension to add a highly scalable counter service to your app. This is ideal for applications that count viral actions or any very high-velocity action such as views, likes, or shares.
288

299
Since Cloud Firestore has a limit of one sustained write per second, per document, this extension instead shards your writes across documents in a `_counter_shards_` subcollection. Each client only increments their own unique shard while the background workers (provided by this extension) monitor and aggregate these shards into a main document.
3010

@@ -61,7 +41,26 @@ When you use Firebase Extensions, you're only charged for the underlying resourc
6141

6242

6343

64-
**ACCESS REQUIRED**:
44+
45+
**Configuration Parameters:**
46+
47+
* Deployment location: Where should the extension be deployed? You usually want a location close to your database. For help selecting a location, refer to the [location selection guide](https://firebase.google.com/docs/functions/locations).
48+
49+
* Document path for internal state: What is the path to the document where the extension can keep its internal state?
50+
51+
52+
53+
**Cloud Functions:**
54+
55+
* **controller:** Scheduled to run every minute. This function either aggregates shards itself, or it schedules and monitors workers to aggregate shards.
56+
57+
* **onWrite:** Listens for changes on counter shards that may need aggregating. This function is limited to max 1 instance.
58+
59+
* **worker:** Monitors a range of shards and aggregates them, as needed. There may be 0 or more worker functions running at any point in time. The controller function is responsible for scheduling and monitoring these workers.
60+
61+
62+
63+
**Access Required**:
6564

6665

6766

0 commit comments

Comments
 (0)