簡體   English   中英

如何使用 Lambda function 作為 AWS AppSync 訂閱解析器

How can I use a Lambda function as an AWS AppSync subscription resolver

提示:本站收集StackOverFlow近2千萬問答,支持中英文搜索,鼠標放在語句上彈窗顯示對應的參考中文或英文, 本站還提供   中文簡體   英文版本   中英對照 版本,有任何建議請聯系yoyou2525@163.com。

我正在開發一個 AWS AppSync 驅動的應用程序。 我有以下發電機 object...

type Message
    @model
    @key(name: "bySender", fields: ["senderId"])
    @key(name: "byDate", fields: ["channelId", "createdAt"], queryField: "getMessagesByDate")
    @auth(
        rules: [
            { allow: groups, groups: ["user"], operations: [read, create, update] }
        ]
    ) {
    id: ID!
    channelId: ID!
    senderId: ID!
    channel: Channel @connection(fields: ["channelId"])
    sender: User @connection(fields: ["senderId"])
    createdAt: AWSDateTime!
    text: String
    fileKey: String
    hasBeenReadByIds: [ID!]
}

我創建具有以下突變的消息...

createNewMessage(id: ID!, channelId: ID!, senderId: ID!, text: String, fileKey: String): Message

我有一個訂閱,用於偵聽使用 createNewMessage 創建的消息...

onCreateMessageForMe: Message @aws_subscribe(mutations: ["createNewMessage"])

訂閱使用 javascript lambda 作為解析器。 但是當 lambda 被調用時, event.arguments 是 {}。

exports.handler = async (event) => {
    console.log("EVENT  ---- ", event);
}    

EVENT  ----  {
  arguments: {},
  identity: {
    claims: {...

如何從事件中獲取新創建的消息的屬性(id、senderId、channelId、文本...)?

問題暫未有回復.您可以查看右邊的相關問題.
2 我可以有條件地調用 AWS Appsync 解析器中的 lambda 函數嗎?

我已將 Appsync 管道解析器附加到我的Organisation對象中名為paymentStatus的字段。 這個想法是,如果組織的最后一個發薪日已經過去,我想使用 Lambda 函數從外部 API 獲取付款狀態。 如果發薪日還沒有過去,我不想調用該函數而只是返回一個“OK”。 有什么方法可以 ...

5 AWS AppSync Lambda 解析器字段

我有以下查詢: 我有什么辦法可以在 lambda 中獲取field1和field2嗎? 例如,只查詢 mysql 中的那些字段,而不是獲取所有這些字段,以便稍后被 AppSync 丟棄。 我嘗試在請求映射器 VTL 文件中記錄所有$context ,但它們不在那里。 有任何想法嗎? 無法做到這 ...

6 如何在由 lambda 調用的 Appsync 中添加訂閱?

我知道 Appsync 中的訂閱與變異一起工作,這意味着每當調用變異時,也會調用訂閱,將消息發送給所有訂閱者。 我想要的是,如果有任何方法,我基本上可以使用 Appsync 或任何其他方式直接從 lambda 實時向用戶發送消息? 也就是說,我不希望用戶刷新頁面。 用例可以是,比如說,我有一個獨 ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2022 STACKOOM.COM