適用於應用程式開發人員 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. 當您創建一個 ID 時 AppClient,系統會為您提供一個 AppClient ID,這是一個唯一的標識符,這對於確保 AppFabric 知道它正在使用您的應用程序和 AWS 帳戶.

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

若要建立 AppClient,請使用 AWS AppFabric CreateAppClient API 作業。如果您需要更新之 AppClient 後,您可以使用 UpdateAppClient API 操作僅更改重定向圖表。如果您需要變更與您相關聯的任何其他參數, AppClient 例如 AppName 或說明,您必須刪除 AppClient 並建立新的參數。如需詳細資訊,請參閱 CreateAppClient

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

請求欄位

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

  • description-應用程序的說明。

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

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

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

響應字段

  • 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 AppFabric oauth2/authorize API 作業。

    請求欄位

    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. 使用 AppFabric oauth2/token API 操作將此授權碼交換為訪問令牌。

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

    請求欄位

    響應字段

    • 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. 導航到應用程序的設置,然後找到添加重定向 URL 的部分。

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

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

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

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

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

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

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

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

可行的見解 (ListActionableInsights)

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

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

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

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

  • 建立工作 (Asana,Smartsheet)

請求欄位

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

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

請求標頭

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

響應字段

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

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

  • 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)

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

請求欄位

  • 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 PutFeedback API 操作為所產生的見解和動作提供意見反應。您可以在應用程式中內嵌此功能,以便提交給定 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 帳戶 身份證

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

  • 您的 AppClient 身份證

  • 您的聯絡資訊

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

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

  • 您的目標推出日期

注意

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

驗證標準

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

  • 您必須使用有效 AWS 帳戶 的生 AppFabric 產力

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

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

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

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

等待驗證狀態更新

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