GCP Firestore (Datastore 模式)

GCP Firestore 状态存储组件的详细信息

组件格式

要设置 GCP Firestore 状态存储,请创建一个类型为 state.gcp.firestore 的组件。有关如何创建和应用状态存储配置,请参阅此指南

apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: <NAME>
spec:
  type: state.gcp.firestore
  version: v1
  metadata:
  - name: project_id
    value: <REPLACE-WITH-PROJECT-ID> # 必填。
  - name: type 
    value: <REPLACE-WITH-CREDENTIALS-TYPE> # 必填。
  - name: endpoint # 可选。
    value: "http://localhost:8432"
  - name: private_key_id
    value: <REPLACE-WITH-PRIVATE-KEY-ID> # 可选。
  - name: private_key
    value: <REPLACE-WITH-PRIVATE-KEY> # 可选,但如果指定了 `private_key_id` 则为必填。
  - name: client_email
    value: <REPLACE-WITH-CLIENT-EMAIL> # 可选,但如果指定了 `private_key_id` 则为必填。
  - name: client_id
    value: <REPLACE-WITH-CLIENT-ID> # 可选,但如果指定了 `private_key_id` 则为必填。
  - name: auth_uri
    value: <REPLACE-WITH-AUTH-URI> # 可选。
  - name: token_uri
    value: <REPLACE-WITH-TOKEN-URI> # 可选。
  - name: auth_provider_x509_cert_url
    value: <REPLACE-WITH-AUTH-X509-CERT-URL> # 可选。
  - name: client_x509_cert_url
    value: <REPLACE-WITH-CLIENT-x509-CERT-URL> # 可选。
  - name: entity_kind
    value: <REPLACE-WITH-ENTITY-KIND> # 可选。默认值:"DaprState"
  - name: noindex
    value: <REPLACE-WITH-BOOLEAN> # 可选。默认值:"false"

规范元数据字段

字段必填详情示例
project_idY要使用的 GCP 项目 ID"project-id"
typeY凭证类型"service_account"
endpointN组件要使用的 GCP 端点。仅用于本地开发(例如配合 GCP Datastore Emulator 使用)。针对 GCP 生产 API 运行时不需要 endpoint"localhost:8432"
private_key_idN要使用的私钥 ID"private-key-id"
privateKeyN如果使用显式凭证,此字段应包含服务账号 json 中的 private_key 字段-----BEGIN PRIVATE KEY-----MIIBVgIBADANBgkqhkiG9w0B
client_emailN客户端的电子邮件地址"eample@example.com"
client_idN用于身份验证的客户端 ID 值"client-id"
auth_uriN要使用的身份验证 URI"https://accounts.google.com/o/oauth2/auth"
token_uriN用于查询 Auth token 的令牌 URI"https://oauth2.googleapis.com/token"
auth_provider_x509_cert_urlN身份验证提供者证书 URL"https://www.googleapis.com/oauth2/v1/certs"
client_x509_cert_urlN客户端证书 URL"https://www.googleapis.com/robot/v1/metadata/x509/x"
entity_kindNFirestore 中的实体名称。默认为 "DaprState""DaprState"
noindexN是否禁用状态实体的索引。如果遇到 Firestore 索引大小限制,请使用此设置。默认为 "false""true"

GCP 凭证

由于 GCP Firestore 组件使用 GCP Go 客户端库,默认情况下它使用 Application Default Credentials 进行身份验证。这在 使用客户端库向 GCP Cloud 服务进行身份验证 指南中有详细说明。

设置 GCP Firestore

您可以使用 GCP Datastore 模拟器在本地运行,说明请参见此处

然后您可以使用 http://localhost:8432 与服务器交互。

按照此处的说明在 Google Cloud 中开始设置 Firestore。

相关链接