日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

push推送Demo

配置環境變量

配置環境變量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET

重要
  • 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維,具體操作,請參見創建RAM用戶

  • 創建AccessKey ID和AccessKey Secret,請參考創建AccessKey

  • 如果您使用的是RAM用戶的AccessKey,請確保主賬號已授權AliyunServiceRoleForOpenSearch服務關聯角色,請參考OpenSearch-行業算法版服務關聯角色,相關文檔參考訪問鑒權規則

  • 請不要將AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。

  • LinuxmacOS系統配置方法:

    執行以下命令,其中, <access_key_id>需替換為您RAM用戶的AccessKey ID,<access_key_secret>替換為您RAM用戶的AccessKey Secret。

    export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id> 
    export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>
  • Windows系統配置方法

    1. 新建環境變量文件,添加環境變量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并寫入已準備好的AccessKey ID和AccessKey Secret。

    2. 重啟Windows系統生效。

代碼示例

// This file is auto-generated, don't edit it. Thanks.
package main

import (
    "fmt"
    util "github.com/alibabacloud-go/tea-utils/service"
    "github.com/alibabacloud-go/tea/tea"
    opensearch "main/client"
)

func main() {
    // 創建請求用客戶端實例
    // Endpoint 為 要訪問服務的區域域名.
    // AccessKeyId 及AccessKeySecret 用于構造鑒權信息.
    config := &opensearch.Config{
        Endpoint:         tea.String( "<Endpoint>"),
      
      	// 用戶識別信息
        // 從環境變量讀取配置的AccessKey ID和AccessKey Secret,
        // 運行代碼示例前必須先配置環境變量,參考文檔上面“配置環境變量”步驟
        // 替換對應的access key id
        AccessKeyId:     tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")),
        AccessKeySecret: tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")),
    }

    // New  一個client, 用以發送請求.
    client, _clientErr := opensearch.NewClient(config)

    // 如果 NewClient 過程中出現異常. 則 返回 _client_err 且輸出 錯誤信息.
    if _clientErr != nil {
        fmt.Println(_clientErr)
        return
    }

    // 組裝文檔
    // 必備信息: 推送數據 內必須包含 primaryKey  field 信息(opensearch結構表的主鍵字段). 否則將無法更新文檔.
    //          更新的其他 doc 字段及內容信息. 以 UTF-8 編碼.
    // opensearch 支持 'ADD' / 'UPDATE' 及 'DELETE' 命令.分別實現 新增,更新 和刪除 doc 動作.
    
    document1st := map[string]interface{}{
        "cmd": "ADD",
        "fields": map[string]interface{}{
            "id":       1,  //  如文例所示. id 為 文檔主鍵字段.
            "describe": "123456",  // doc 字段.
        },
    }

    // timestamp 信息 用以增加對 文檔操作的保序能力. 系統會用該時間戳來作為同一主鍵文檔更新順序的判斷標準.
    // 在沒有該timestamp項時,默認以文檔發送到OpenSearch的時間作為文檔更新時間進行操作。
    document2nd := map[string]interface{}{
        "cmd": "ADD",
        "timestamp": 1401342874778,
        "fields": map[string]interface{}{
            "id":       2,
            "describe": "123456",
        },
    }

    // 組裝推送文檔 數組結構. 其中包含單條文檔動作.
    requestBody := []interface{}{document1st}

    // 此結構可進行多個 document append 動作.
    requestBody = append(requestBody, document2nd)

    // 請求發送的配置參數. 用以請求配置及連接池配置.
    runTime := &util.RuntimeOptions{
        ConnectTimeout: tea.Int(5000),
        ReadTimeout:    tea.Int(10000),
        Autoretry:      tea.Bool(false),
        IgnoreSSL:      tea.Bool(false),
        MaxIdleConns:   tea.Int(50),
    }

    // 推送接口需要提供 推送 app 和表名,
    // App 可以是 app 的版本信息. 也可以是 app 名稱.
    // 推送表為 為 目標表的名稱. 可在控制臺查看.
    appName := "<appName>"
    tableName := "<tableName>"

    // 發送請求的方法調用.
    response, _requestErr := client.Request(
        tea.String("POST"),
        tea.String("/v3/openapi/apps/"+appName+"/"+tableName+"/actions/bulk"),
        nil,
        nil,
        requestBody,
        runTime)

    // 如果 發送請求 過程中出現異常. 則 返回 _requestErr 且輸出 錯誤信息.
    if _requestErr != nil {
        fmt.Println(_requestErr)
        return
    }

    // 輸出正常返回的 response 內容.
    fmt.Println(response)
}
說明

組裝文檔:具體構造細則, 請參考: 數據處理