開始使用應 AppFabric 用程式開發人員的生產力 (預覽版) - AWS AppFabric

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

開始使用應 AppFabric 用程式開發人員的生產力 (預覽版)

所以此 AWS AppFabric 對於生產力功能處於預覽狀態,可能會有所變更。

本節協助應用程式開發者整合 AWS AppFabric 用於生產力(預覽)到他們的應用程序。 AWS AppFabric 提高生產力,開發人員能夠透過電子郵件、行事曆事件、工作、訊息等產生 AI 技術的見解和動作,為使用者打造更豐富的應用程式體驗。如需支援的應用程式清單,請參閱 AWS AppFabric 支援的應用程

AppFabric 為了提高生產力,應用程序開發人員可以在安全受控的環境中進行構建和實驗。當您第一次開始使用以 AppFabric 提高生產力時,您可以建立 AppClient 並註冊單一測試使用者。此方法旨在幫助您了解和測試應用程序和. 之間的身份驗證和通信流程 AppFabric。在您與單一使用者進行測試之後,您可以將應用程式提交至 AppFabric 以進行驗證,然後再將存取權擴展至其他使用者 (請參閱步驟 5. 請求 AppFabric 驗證您的申請)。 AppFabric 將驗證應用程式資訊,然後再進行廣泛採用,以協助保護應用程式開發人員、使用者及其資料,為以負責任的方式擴大使用者採用鋪平道路。

必要條件

在開始之前,您需要創建一個 AWS 帳戶。 如需詳細資訊,請參閱註冊一個 AWS 帳戶。您還需要建立至少一個具有下列"appfabric:CreateAppClient"IAM原則存取權的使用者,以允許使用者向其註冊您的應用程式 AppFabric。如需授與生產力功能之權限的 AppFabric 詳細資訊,請參閱AppFabric 生產力IAM政策範例。雖然擁有管理使用者是有益的,但對於初始設定來說並不是強制性的。如需詳細資訊,請參閱建立具有管理存取權的使用者

AppFabric 生產力僅在美國東部 (維吉尼亞北部) 預覽期間。在開始執行以下步驟之前,請確定您位於此區域。

{ "Statement": [ { "Effect": "Allow", "Action": [ "appfabric:CreateAppClient" ], "Resource": ["arn:aws:appfabric:*:*:appclient/*"] } ], "Version": "2012-10-17" }

步驟 1. 創造一個提高 AppFabric 生產力 AppClient

您必須先建立一個 AppFabric AppClient. AppFabric 基本上 AppClient 是您提高生產力 AppFabric 的閘道,可作為安全的OAuth應用程式用戶端,在應用程式與 AppFabric. 創建時 AppClient,系統會為您提供一個 AppClient ID,這是一個唯一的標識符,這對於確保 AppFabric 知道它正在使用您的應用程序和您的應用程序至關重要 AWS 帳戶.

AppFabric 為了提高生產力,應用程序開發人員可以在安全受控的環境中進行構建和實驗。當您第一次開始使用以 AppFabric 提高生產力時,您可以建立 AppClient並註冊單一測試使用者。此方法旨在幫助您了解和測試應用程序和. 之間的身份驗證和通信流程 AppFabric。在您與單一使用者進行測試之後,您可以將應用程式提交至 AppFabric 以進行驗證,然後再將存取權擴展至其他使用者 (請參閱步驟 5. 請求 AppFabric 驗證您的申請)。 AppFabric 將驗證應用程式資訊,然後再進行廣泛採用,以協助保護應用程式開發人員、使用者及其資料,為以負責任的方式擴大使用者採用鋪平道路。

若要建立 AppClient,請使用 AWS AppFabric CreateAppClientAPI操作。如果您需要更新之 AppClient 後,您可以使用此UpdateAppClientAPI作業僅變更redirectUrls。如果您需要變更與您的 ( AppClient 例如 appName 或說明) 相關聯的任何其他參數,則必須刪除 AppClient 並建立新參數。如需詳細資訊,請參閱CreateAppClient

您可以註冊您的申請 AWS 使用多種編程語言的服務,包括 Python,Node.js,Java,C#,圍棋和銹。CreateAppClient API如需詳細資訊,請參閱《IAM使用指南》中的「要求簽名範例」。您需要使用帳戶簽名版本 4 憑據才能執行此API操作。如需簽名版本 4 的詳細資訊,請參閱簽署 AWS API《IAM用戶指南》中的請求。

請求欄位

  • appName-將在使用 AppFabric 者入口網站的同意頁面上顯示給使用者的應用程式名稱。同意頁面會詢問使用者是否有權在應用程式內顯示 AppFabric 見解。如需有關同意頁面的詳細資訊,請參閱步驟 2. 同意應用程式顯示見解

  • description-應用程序的說明。

  • redirectUrls-授權後URI將最終使用者重新導向至。您最多可以添加 5 個redirectUrls。例如:https://localhost:8080

  • starterUserEmails-一個用戶電子郵件地址,允許訪問以接收見解,直到應用程序通過驗證。只允許使用一個電子郵件地址。例如 anyuser@example.com

  • customerManagedKeyIdentifier(選擇性)-用於加密資料ARN的客戶管理金鑰 (由產生KMS)。如果沒有指定,則 AWS AppFabric 將使用託管密鑰。如需關於 AWS 擁有的金鑰 和客戶管理的金鑰,請參閱客戶金鑰和 AWS 按鍵AWS Key Management Service 開發人員指南

響應字段

  • appClientArn-包含 AppClient ID 的 Amazon 資源名稱 (ARN)。例如, AppClient 識別碼為a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

  • verificationStatus- AppClient 驗證狀態。

    • pending_verification-的驗證 AppClient仍在進行中 AppFabric。在驗證之 AppClient 前,只有一個使用者 (在中指定starterUserEmails) 可以使用 AppClient. 使用者將在中介紹的 AppFabric 使用者入口網站中看到通知步驟 3。將 AppFabric 使用者入口網站新增URL至應用程式,表示應用程式未經過驗證。

    • verified-驗證程序已由順利完成 AppFabric ,現 AppClient 已完成驗證。

    • rejected-的驗證程序已 AppClient 遭拒絕 AppFabric。 AppClient 在重新啟動並成功完成驗證程序之前,其他使用者無法使用。

curl --request POST \ --header "Content-Type: application/json" \ --header "X-Amz-Content-Sha256: <sha256_payload>" \ --header "X-Amz-Security-Token: <security_token>" \ --header "X-Amz-Date: 20230922T172215Z" \ --header "Authorization: AWS4-HMAC-SHA256 ..." \ --url https://appfabric.<region>.amazonaws.com/appclients/ \ --data '{ "appName": "Test App", "description": "This is a test app", "redirectUrls": ["https://localhost:8080"], "starterUserEmails": ["anyuser@example.com"], "customerManagedKeyIdentifier": "arn:aws:kms:<region>:<account>:key/<key>" }'

如果動作成功,服務會傳回 HTTP 200 回應。

{ "appClientConfigSummary": { "appClientArn": "arn:aws:appfabric:<region>:<account>:appclient/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "verificationStatus": "pending_verification" } }

步驟 2. 驗證並授權您的應用程式

透過建立 OAuth 2.0 授權流程,讓您的應用程式能夠安全地整合 AppFabric 見解。首先,您需要創建一個驗證您的應用程序身份的授權碼。如需詳細資訊,請參閱授權。然後,您將此授權代碼交換為訪問令牌,該訪問令牌授予應用程序在應用程序中獲取和顯示 AppFabric見解的權限。如需詳細資訊,請參閱權杖

如需授與應用程式授權權限的詳細資訊,請參閱允許存取授權應用程式

  1. 若要建立授權碼,請使用 AWS AppFabricoauth2/authorizeAPI操作。

    請求欄位

    GET https://productivity.appfabric.<region>.amazonaws.com/oauth2/authorize?app_client_id=a1b2c3d4-5678-90ab-cdef-EXAMPLE11111\ redirect_uri=https://localhost:8080&state=a8904edc-890c-1005-1996-29a757272a44
  2. 驗證後,您將被重定向到指定的,並URI使用作為查詢參數返回的授權碼。例如,在哪裡code=mM0NyJ9.MEUCIHQQgV3ChXGs2LRwxLtpsgya3ybfPYXfX-sxTAdRF-gDAiEAxX7BYKlD9krG3J2VtprOjVXZ0FSUX9whdekqJ-oampc

    https://localhost:8080/?code=mM0NyJ9.MEUCIHQQgV3ChXGs2LRwxLtpsgya3ybfPYXfX-sxTAdRF-gDAiEAxX7BYKlD9krG3J2VtprOjVXZ0FSUX9whdekqJ-oampc&state=a8904edc-890c-1005-1996-29a757272a44
  3. 使用 AppFabricoauth2/tokenAPI操作將此授權代碼交換為訪問令牌。

    此令牌用於API請求,並且最初在驗證starterUserEmails之 AppClient 前有效。驗證 AppClient 之後,此權杖可用於任何使用者。您需要使用帳戶簽名版本 4 憑據才能執行此API操作。如需簽名版本 4 的詳細資訊,請參閱簽署 AWS API《IAM用戶指南》中的請求。

    請求欄位

    響應字段

    • expires_in-令牌到期前多久。預設到期時間為 12 小時。

    • refresh_token-從初始 /token 要求接收到的重新整理權杖。

    • token-從初始 /token 要求接收到的權杖。

    • token_type-該值將是Bearer

    • appfabric_user_id- AppFabric 使用者識別碼。這只會針對使用authorization_code授權類型的要求傳回。

    curl --location \ "https://appfabric.<region>.amazonaws.com/oauth2/token" \ --header "Content-Type: application/json" \ --header "X-Amz-Content-Sha256: <sha256_payload>" \ --header "X-Amz-Security-Token: <security_token>" \ --header "X-Amz-Date: 20230922T172215Z" \ --header "Authorization: AWS4-HMAC-SHA256 ..." \ --data "{ \"code\": \"mM0NyJ9.MEUCIHQQgV3ChXGs2LRwxLtpsgya3ybfPYXfX-sxTAdRF-gDAiEAxX7BYKlD9krG3J2VtprOjVXZ0FSUX9whdekqJ-oampc", \"app_client_id\": \"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111\", \"grant_type\": \"authorization_code\", \"redirect_uri\": \"https://localhost:8080\" }"

    如果動作成功,服務會傳回 HTTP 200 回應。

    { "expires_in": 43200, "refresh_token": "apkaeibaerjr2example", "token": "apkaeibaerjr2example", "token_type": "Bearer", "appfabric_user_id" : "<userId>" }

步驟 3。將 AppFabric 使用者入口網站新增URL至應用程式

使用者需要授權 AppFabric 才能從用來產生深入解析的應用程式存取資料。 AppFabric 透過建立專用的使用者入口網站 (快顯畫面),讓最終使用者授權其應用程式,消除應用程式開發人員擁有此程序的複雜性。當使用者準備好啟 AppFabric 用生產力時,他們會被帶到使用者入口網站,讓他們能夠連接和管理用來產生深入解析和跨應用程式動作的應用程式。登入後,使用者可以將應用程式連線到以 AppFabric 提高生產力,然後返回您的應用程式以探索深入解析和動作。若要整合您的應用程式以 AppFabric 提高生產力,您需要將特定應用程式新增 AppFabric URL至您的應用程式。此步驟對於讓使用者能夠直接從您的應用程式存取 AppFabric 使用者入口網站至關重要。

  1. 導航到應用程序的設置並找到添加重定向的部分URLs。

  2. 找到適當的區域後,將以下內容新增 AppFabric URL為應用程式URL的重新導向:

    https://userportal.appfabric.<region>.amazonaws.com/eup_login

新增之後URL,您的應用程式將設定為將使用者導向至使用 AppFabric者入口網站。在這裡,用戶可以登錄並連接和管理用於生成生產力洞察 AppFabric 的應用程序。

步驟 4. 用 AppFabric 於顯示跨應用程式深入解析和動作

使用者連接其應用程式之後,您可以透過協助減少應用程式和內容切換,提高使用者的生產力。 AppFabric 僅根據用戶有權訪問的內容為用戶生成見解。 AppFabric 將使用者資料儲存在 AWS 帳戶 擁有 AppFabric。如需有關如何 AppFabric 使用資料的資訊,請參閱資料處理 AppFabric

您可以使用下列 AI 技術,在應APIs用程式中產生並顯示使用者層級的見解和動作:

  • ListActionableInsights— 有關更多信息,請參閱下面的可操作見解部分。

  • ListMeetingInsights— 如需詳細資訊,請參閱本指南稍後的「會議準備」一節。

可行的見解 (ListActionableInsights)

ListActionableInsightsAPI協助使用者根據其應用程式中的活動 (包括電子郵件、行事曆、訊息、工作等),最有效地管理他們的一天,提供可行的見解。傳回的見解也會顯示用來產生深入解析之成品的內嵌連結,協助使用者快速檢視用來產生深入解析的資料。此外,API可能會根據洞察力傳回建議的動作,並允許使用者從您的應用程式內執行跨應用程式動作。具體來說,與像這樣的平台API集成 Asana, Google Workspace, Microsoft 365 和 Smartsheet ,讓使用者能夠傳送電子郵件、建立行事曆事件和建立工作。大型語言模型 (LLMs) 可能會在建議的動作 (例如電子郵件內文或任務名稱) 中預先填入詳細資訊,使用者可在執行前自訂這些動作,簡化決策並提高生產力。與終端使用者授權應用程式的體驗類似, AppFabric 使用相同的專用入口網站供使用者檢視、編輯和執行跨應用程式動作。對於執行操作, AppFabric 需ISVs要將用戶重新定向到用戶門 AppFabric 戶,在那裡他們可以看到操作詳細信息並執行它們。由產生的每個動作都 AppFabric 有唯一的URL。這URL是在響應的響ListActionableInsightsAPI應中可用。

以下是支援的跨應用程式動作及其應用程式的摘要:

  • 發送電子郵件 (Google Workspace, Microsoft 365)

  • 建立行事曆事件 (Google Workspace, Microsoft 365)

  • 建立工作 (Asana, Smartsheet)

請求欄位

  • nextToken(可選)-用於獲取下一組見解的分頁令牌。

  • includeActionExecutionStatus-接受動作執行狀態清單的篩選器。動作會根據傳入的狀態值進行篩選。可能的值:NOT_EXECUTED | EXECUTED

請求標頭

  • 授權標頭需要與Bearer Token 值一起傳遞。

響應字段

  • insightId-生成的見解的唯一 ID。

  • insightContent-這會傳回見解的摘要,以及用來產生深入解析之成品的內嵌連結。注意:這將是一個包HTML含嵌入鏈接(<a>標籤)的內容。

  • insightTitle-生成的見解的標題。

  • createdAt-產生洞察力的時候

  • actions-針對生成的見解建議的操作列表。動作對象:

    • actionId-所產生動作的唯一 ID。

    • actionIconUrl-建議執行動作的應用程序圖標URL。

    • actionTitle-產生動作的標題。

    • actionUrl-最終用戶在用戶門戶中查看和執行操作 AppFabric的唯一URL性。注意:為了執行操作,ISV應用程序會使用此URL功能將用戶重新定向到 AppFabric 用戶門戶(彈出屏幕)。

    • actionExecutionStatus-指示動作狀態的列舉。可能的值為:EXECUTED| NOT_EXECUTED

  • nextToken(可選)-用於獲取下一組見解的分頁令牌。這是一個可選字段,如果返回 null 意味著沒有更多的見解加載。

如需詳細資訊,請參閱ActionableInsights

curl -v --location \ "https://productivity.appfabric.<region>.amazonaws.com"\ "/actionableInsights" \ --header "Authorization: Bearer <token>"

如果動作成功,服務會傳回 HTTP 200 回應。

200 OK { "insights": [ { "insightId": "7tff3412-33b4-479a-8812-30EXAMPLE1111", "insightContent": "You received an email from James regarding providing feedback for upcoming performance reviews.", "insightTitle": "New feedback request", "createdAt": 2022-10-08T00:46:31.378493Z, "actions": [ { "actionId": "5b4f3412-33b4-479a-8812-3EXAMPLE2222", "actionIconUrl": "https://d3gdwnnn63ow7w.cloudfront.net/eup/123.svg", "actionTitle": "Send feedback request email", "actionUrl": "https://userportal.appfabric.us-east-1.amazonaws.com/action/action_id_1" "actionExecutionStatus": "NOT_EXECUTED" } ] }, { "insightId": "2dff3412-33b4-479a-8812-30bEXAMPLE3333", "insightContent":"Steve sent you an email asking for details on project. Consider replying to the email.", "insightTitle": "New team launch discussion", "createdAt": 2022-10-08T00:46:31.378493Z, "actions": [ { "actionId": "74251e31-5962-49d2-9ca3-1EXAMPLE1111", "actionIconUrl": "https://d3gdwnnn63ow7w.cloudfront.net/eup/123.svg", "actionTitle": "Reply to team launch email", "actionUrl": "https://userportal.appfabric.us-east-1.amazonaws.com/action/action_id_2" "actionExecutionStatus": "NOT_EXECUTED" } ] } ], "nextToken": null }

會議準備 (ListMeetingInsights)

通過總結會議目的並顯示相關的跨應用程序成品(例如電子郵件,消息等),ListMeetingInsightsAPI幫助用戶最好地為即將舉行的會議做準備。使用者現在可以快速準備會議,不必浪費時間在應用程式之間切換來尋找內容。

請求欄位

  • nextToken(可選)-用於獲取下一組見解的分頁令牌。

請求標頭
  • 授權標頭需要與Bearer Token值一起傳遞。

響應字段

  • insightId-生成的見解的唯一 ID。

  • insightContent-以字符串格式突出顯示詳細信息的見解描述。與在一樣,為什麼這種見解很重要。

  • insightTitle-生成的見解的標題。

  • createdAt-產生洞察力的時候

  • calendarEvent-使用者應關注的重要行事曆活動或會議。日曆事件對象:

    • startTime-活動的開始時間。

    • endTime-活動的結束時間。

    • eventUrl-ISV 應用程序上的日曆事件。URL

  • resources-包含與生成見解相關的其他資源的列表。資源物件:

    • appName-資源所屬的應用程式名稱。

    • resourceTitle-資源標題。

    • resourceType-資源的類型。可能的值為:EMAIL| EVENT | MESSAGE | TASK

    • resourceUrl-應用程序URL中的資源。

    • appIconUrl-資源所屬URL的應用程序的圖像。

  • nextToken(可選)-用於獲取下一組見解的分頁令牌。這是一個可選字段,如果返回 null 意味著沒有更多的見解加載。

如需詳細資訊,請參閱MeetingInsights

curl --location \ "https://productivity.appfabric.<region>.amazonaws.com"\ "/meetingContexts" \ --header "Authorization: Bearer <token>"

如果動作成功,服務會傳回 HTTP 201 回應。

200 OK { "insights": [ { "insightId": "74251e31-5962-49d2-9ca3-15EXAMPLE4444" "insightContent": "Project demo meeting coming up soon. Prepare accordingly", "insightTitle": "Demo meeting next week", "createdAt": 2022-10-08T00:46:31.378493Z, "calendarEvent": { "startTime": { "timeInUTC": 2023-10-08T10:00:00.000000Z, "timeZone": "UTC" }, "endTime": { "timeInUTC": 2023-10-08T11:00:00.000000Z, "timeZone": "UTC" }, "eventUrl": "http://someapp.com/events/1234", } "resources": [ { "appName": "SOME_EMAIL_APP", "resourceTitle": "Email for project demo", "resourceType": "EMAIL", "resourceUrl": "http://someapp.com/emails/1234", "appIconUrl":"https://d3gdwnnn63ow7w.cloudfront.net/eup/123.svg" } ] }, { "insightId": "98751e31-5962-49d2-9ca3-15EXAMPLE5555" "insightContent": "Important code complete task is now due. Consider updating the status.", "insightTitle": "Code complete task is due", "createdAt": 2022-10-08T00:46:31.378493Z, "calendarEvent":{ "startTime": { "timeInUTC": 2023-10-08T10:00:00.000000Z, "timeZone": "UTC" }, "endTime": { "timeInUTC": 2023-10-08T11:00:00.000000Z, "timeZone": "UTC" }, "eventUrl": "http://someapp.com/events/1234", }, "resources": [ { "appName": "SOME_TASK_APPLICATION", "resourceTitle": "Code Complete task is due", "resourceType": "TASK", "resourceUrl": "http://someapp.com/task/1234", "appIconUrl": "https://d3gdwnnn63ow7w.cloudfront.net/eup/123.svg" } ] } ], "nextToken": null }

針對您的見解或行動提供意見反應

使用該 AppFabric PutFeedbackAPI操作為所產生的見解和動作提供意見反應。您可以在應用程式中內嵌此功能,以便提交給定 InsightId 或的意見反應評分 (1 到 5,其中評分越高越好) ActionId。

請求欄位

  • id-正在提交意見反應的物件識別碼。這可以是 InsightId 或 ActionId.

  • feedbackFor-正在提交意見反應的資源類型。可能的值:ACTIONABLE_INSIGHT | MEETING_INSIGHT | ACTION

  • feedbackRating-信用評級從15。評分越高越好。

響應字段

  • 沒有響應字段。

如需詳細資訊,請參閱PutFeedback

curl --request POST \ --url "https://productivity.appfabric.<region>.amazonaws.com"\ "/feedback" \ --header "Authorization: Bearer <token>" \ --header "Content-Type: application/json" \ --data '{ "id": "1234-5678-9012", "feedbackFor": "ACTIONABLE_INSIGHT" "feedbackRating": 3 }'

如果動作成功,服務會傳回具有空HTTP主體的 HTTP 201 回應。

步驟 5. 請求 AppFabric 驗證您的申請

為此,您已更新應用程式 UI,以嵌入 AppFabric 跨應用程式深入解析和動作,並獲得單一使用者的見解。當您對測試感到滿意並希望將 AppFabric豐富的體驗擴展到其他用戶之後,您可以將申請提交到以進 AppFabric 行審查和驗證。 AppFabric 將驗證應用程式資訊,然後再進行廣泛採用,以協助保護應用程式開發人員、使用者及其資料,為以負責任的方式擴大使用者採用鋪平道路。

啟動驗證程序

傳送電子郵件至 appfabric-appverification@amazon.com 並要求驗證您的應用程式,以開始驗證程序。

在您的電子郵件中包含以下詳細信息:

  • 您的 AWS 帳戶 ID

  • 您要尋求驗證的應用程式名稱

  • 您的 AppClient 身份證

  • 您的聯絡資訊

此外,請提供以下資訊 (如果有的話),以協助我們評估優先順序和影響:

  • 您計劃授予存取權限的估計使用者人數

  • 您的目標推出日期

注意

如果您有 AWS 帳戶 經理或 AWS 合作夥伴開發經理,請將其複製到您的電子郵件中。包括這些聯繫人可以幫助加快驗證過程。

驗證標準

開始驗證程序之前,您必須符合下列條件:

  • 您必須使用有效 AWS 帳戶 用 AppFabric 於提高生產力

此外,您至少符合下列其中一項條件:

  • 您的組織是 AWS 上的合作夥伴 AWS Partner Network 至少有一個」AWS 選擇」層。如需詳細資訊,請參閱 AWS 合作夥伴服務層級

  • 您的組織應該在過去三年內至少花費 10,000 美元在 AppFabric 服務上。

  • 您的應用程序應列在 AWS Marketplace如需詳細資訊,請參閱 .AWS Marketplace

等待驗證狀態更新

審核您的申請後,我們會透過電子郵件回覆,您的狀態 AppClient 會從變更pending_verificationverified。如果您的申請被拒絕,您將需要重新啟動驗證程序。