コネクタ機能APIの更新

この機能はベータ版であり、変更される可能性があります。設計とコードは公式GA機能よりも成熟しておらず、保証なしでそのまま提供されています。ベータ機能は公式GA機能のサポートSLAの対象外です。

コネクタのfeaturesを管理します。このエンドポイントは、コネクタの以下の側面を制御するために使用できます:

  • ドキュメントレベルのセキュリティ
  • 増分同期
  • 高度な同期ルール
  • 基本的な同期ルール

通常、実行中のコネクタサービスはこれらの機能を自動的に管理します。ただし、このAPIを使用してデフォルトの動作をオーバーライドすることができます。

コネクタAPIを始めるには、チュートリアルを確認してください。

リクエスト

PUT _connector/<connector_id>/_features

前提条件

  • 自己管理型コネクタを使用してデータを同期するには、独自のインフラストラクチャにElasticコネクタサービスをデプロイする必要があります。このサービスは、ネイティブコネクタ用にElastic Cloud上で自動的に実行されます。
  • connector_idパラメータは、既存のコネクタを参照する必要があります。

パスパラメータ

  • <connector_id>
  • (必須、文字列)

リクエストボディ

  • features
  • (必須、オブジェクト) コネクタ機能を含むオブジェクト。
    • document_level_security (オプション、オブジェクト) enabledフラグでドキュメントレベルのセキュリティが有効かどうかを制御します。
    • incremental_sync (オプション、オブジェクト) enabledフラグで増分同期が有効かどうかを制御します。
    • native_connector_api_keys (オプション、オブジェクト) enabledフラグでネイティブコネクタAPIキーが有効かどうかを制御します。
    • sync_rules (オプション、オブジェクト) 同期ルールを制御します。
      • advanced (オプション、オブジェクト) enabledフラグで高度な同期ルールが有効かどうかを制御します。
      • basic (オプション、オブジェクト) enabledフラグで基本的な同期ルールが有効かどうかを制御します。

レスポンスコード

  • 200
  • コネクタfeaturesが正常に更新されました。
  • 400
  • connector_idが提供されていないか、リクエストペイロードが不正です。
  • 404 (リソースが不足しています)
  • connector_idに一致するコネクタが見つかりませんでした。

次の例は、ID my-connectorのコネクタのfeaturesフィールドを更新します:

Python

  1. resp = client.perform_request(
  2. "PUT",
  3. "/_connector/my-connector/_features",
  4. headers={"Content-Type": "application/json"},
  5. body={
  6. "features": {
  7. "document_level_security": {
  8. "enabled": True
  9. },
  10. "incremental_sync": {
  11. "enabled": True
  12. },
  13. "sync_rules": {
  14. "advanced": {
  15. "enabled": False
  16. },
  17. "basic": {
  18. "enabled": True
  19. }
  20. }
  21. }
  22. },
  23. )
  24. print(resp)

Js

  1. const response = await client.transport.request({
  2. method: "PUT",
  3. path: "/_connector/my-connector/_features",
  4. body: {
  5. features: {
  6. document_level_security: {
  7. enabled: true,
  8. },
  9. incremental_sync: {
  10. enabled: true,
  11. },
  12. sync_rules: {
  13. advanced: {
  14. enabled: false,
  15. },
  16. basic: {
  17. enabled: true,
  18. },
  19. },
  20. },
  21. },
  22. });
  23. console.log(response);

コンソール

  1. PUT _connector/my-connector/_features
  2. {
  3. "features": {
  4. "document_level_security": {
  5. "enabled": true
  6. },
  7. "incremental_sync": {
  8. "enabled": true
  9. },
  10. "sync_rules": {
  11. "advanced": {
  12. "enabled": false
  13. },
  14. "basic": {
  15. "enabled": true
  16. }
  17. }
  18. }
  19. }

コンソール-結果

  1. {
  2. "result": "updated"
  3. }

このエンドポイントは、featuresフィールドの部分的な更新をサポートしています。たとえば、document_level_security機能のみを更新するには、次のリクエストを送信できます:

Python

  1. resp = client.perform_request(
  2. "PUT",
  3. "/_connector/my-connector/_features",
  4. headers={"Content-Type": "application/json"},
  5. body={
  6. "features": {
  7. "document_level_security": {
  8. "enabled": True
  9. }
  10. }
  11. },
  12. )
  13. print(resp)

Js

  1. const response = await client.transport.request({
  2. method: "PUT",
  3. path: "/_connector/my-connector/_features",
  4. body: {
  5. features: {
  6. document_level_security: {
  7. enabled: true,
  8. },
  9. },
  10. },
  11. });
  12. console.log(response);

コンソール

  1. PUT _connector/my-connector/_features
  2. {
  3. "features": {
  4. "document_level_security": {
  5. "enabled": true
  6. }
  7. }
  8. }

コンソール-結果

  1. {
  2. "result": "updated"
  3. }