Skip Navigation
Show nav
Dev Center
  • Get Started
  • ドキュメント
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
    • .NET
  • ドキュメント
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
View categories

Categories

  • Heroku のアーキテクチャ
    • Dyno (アプリコンテナ)
      • Dyno Management
      • Dyno Concepts
      • Dyno Behavior
      • Dyno Reference
      • Dyno Troubleshooting
    • スタック (オペレーティングシステムイメージ)
    • ネットワーキングと DNS
    • プラットフォームポリシー
    • プラットフォームの原則
  • Developer Tools
    • コマンドライン
    • Heroku VS Code Extension
  • デプロイ
    • Git を使用したデプロイ
    • Docker によるデプロイ
    • デプロイ統合
  • 継続的デリバリーとインテグレーション
    • 継続的統合
  • 言語サポート
    • Node.js
      • Working with Node.js
      • Node.js Behavior in Heroku
      • Troubleshooting Node.js Apps
    • Ruby
      • Rails のサポート
      • Bundler の使用
      • Working with Ruby
      • Ruby Behavior in Heroku
      • Troubleshooting Ruby Apps
    • Python
      • Working with Python
      • Python でのバックグランドジョブ
      • Python Behavior in Heroku
      • Django の使用
    • Java
      • Java Behavior in Heroku
      • Working with Java
      • Maven の使用
      • Spring Boot の使用
      • Troubleshooting Java Apps
    • PHP
      • PHP Behavior in Heroku
      • Working with PHP
    • Go
      • Go の依存関係管理
    • Scala
    • Clojure
    • .NET
      • Working with .NET
  • データベースとデータ管理
    • Heroku Postgres
      • Postgres の基礎
      • Postgres スターターガイド
      • Postgres のパフォーマンス
      • Postgres のデータ転送と保持
      • Postgres の可用性
      • Postgres の特別なトピック
      • Migrating to Heroku Postgres
    • Heroku Data For Redis
    • Apache Kafka on Heroku
    • その他のデータストア
  • AI
    • Working with AI
    • Heroku Inference
      • Inference API
      • Quick Start Guides
      • AI Models
      • Inference Essentials
    • Vector Database
    • Model Context Protocol
  • モニタリングとメトリクス
    • ログ記録
  • アプリのパフォーマンス
  • アドオン
    • すべてのアドオン
  • 共同作業
  • セキュリティ
    • アプリのセキュリティ
    • ID と認証
      • シングルサインオン (SSO)
    • Private Space
      • インフラストラクチャネットワーキング
    • コンプライアンス
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Team
    • Heroku Connect (Salesforce 同期)
      • Heroku Connect の管理
      • Heroku Connect のリファレンス
      • Heroku Connect のトラブルシューティング
  • パターンとベストプラクティス
  • Heroku の拡張
    • Platform API
    • アプリの Webhook
    • Heroku Labs
    • アドオンのビルド
      • アドオン開発のタスク
      • アドオン API
      • アドオンのガイドラインと要件
    • CLI プラグインのビルド
    • 開発ビルドパック
    • Dev Center
  • アカウントと請求
  • トラブルシューティングとサポート
  • Salesforce とのインテグレーション
  • Heroku Enterprise
  • Heroku Connect (Salesforce 同期)
  • Heroku External Objects

Heroku External Objects

日本語 — Switch to English

この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。

最終更新日 2023年03月30日(木)

Table of Contents

  • サービス認証
  • リソース設定
  • 速度制限
  • ログ記録
  • サポートされているデータ型
  • 制限

Heroku External Objects は、Heroku Connect の一部として使用可能です。Heroku External Objects には、Heroku Connect で使用するように構成されている Heroku Postgres データベースの oData ラッパーが用意されています。この機能を使用すると、ラッパーによって生成される RESTful エンドポイントを使用して、ほかの Web サービスで、指定された Heroku Postgres データベース内からデータを取得することができます。

Salesforce Connect​ と合わせて使用すると、Heroku Postgres データベースのデータを Salesforce のデプロイで提示することが許可され、データの表示 (Apex および Visualforce のページ内からを含む)、検索、ほかのオブジェクトとの関連付けができます。データは参照によってのみ使用可能なため、標準レポートでは使用できません。

サービス認証

External Objects のサービスエンドポイントは基本認証によって保護されます。サービスを有効にすると、External Objects の設定ページから資格情報の表示、リセット、取り消しを実行できます。

資格情報をリセットしてから 10 分間は、新しい資格情報も古い資格情報も受け入れられます。Salesforce 組織​など、資格情報を使用するサービスでは、ダウンタイムが発生しないよう、この期間中に資格情報を更新してください。

リソース設定

External Objects サービスが接続に対してアクティブなとき、利用可能なテーブルとビューの一覧が External Objects の設定ページに表示されます。同期サービスの一環として Heroku Connect によってアクティブに管理されていないスキーマを含め、関連付けられた接続のデータベース内のすべてのスキーマを横断してテーブルとビューが利用可能になります。これらのテーブルまたはビューはどれも、対応するチェックボックスを設定ページで選択することによって、External Objects サービスのリソースとして有効化または無効化できます。

External Objects リソースとして有効になるには、テーブルにプライマリキー列が含まれている必要があります。ビューには id​ という名前の列が必要です。

速度制限

External Objects には、shield​、enterprise​、または danketsu​ 有料 Connect プランの場合、1 時間あたり 20,000 リクエストの速度制限が適用されます。速度制限の引き上げも可能ですが、申し込みが必要です。demo​ プランの場合、制限は 1 時間あたり 1,000 リクエストです。

Heroku Connect の複数のインスタンス​がある場合、Connect インスタンスごとに独自かつ個別の External Objects 速度制限があります。

この制限に達した後にサービスへのアクセスを試みると、結果は 429 Too Many Requests​ エラーになります。応答メッセージには、次に API リクエストが実行可能になると予想される時期についての情報も含まれています。速度制限スロットルは毎時 0 分にリセットされます。

{"message":"Request was throttled. Expected available in 1000.0 seconds."}

ログ記録

資格情報のリセットや失効、データベースオブジェクトの包含や除外など、管理上の変更を設定に加えると、Heroku Connect の監査メッセージ​の一部としてログに記録されます。

Heroku External Objects は、そのリクエストと速度制限アクティビティのログを生成し、このログにはログドレイン​からアクセスできます (「Heroku Connect Application Logging)​」(Heroku Connect アプリケーションログ記録) も参照してください)。次のような 1 つのメッセージが生成され、使用された速度制限とサービスの合計速度制限を確認できます。

2020-02-12T19:13:07+00:00 app[herokuexternalobjects]: addon_id=82b1c244-592d-4165-99e7-89a270459752 object_type=sync object_id=55cae68a-0628-4497-bbcd-b32cf3b7c5cf state=IDLE request_id=3d4917bc-d255-2c69-4e3d-fa4f8a2a733f method=GET path=/odata/v4/fefbdf7b43794182af6cb7c1fc04fbf9/schema$lead at=ratelimit ip=127.0.0.1 ratelimit_used=38 ratelimit=22000 user_agent=python-requests/2.11.1 level=info

応答のログメッセージも Heroku External Objects によって生成され、呼び出し元に提供されます。

2020-02-12T19:13:07+00:00 app[herokuexternalobjects]: addon_id=82b1c244-592d-4165-99e7-89a270459752 object_type=sync object_id=55cae68a-0628-4497-bbcd-b32cf3b7c5cf state=IDLE request_id=3d4917bc-d255-2c69-4e3d-fa4f8a2a733f method=GET path=/odata/v4/fefbdf7b43794182af6cb7c1fc04fbf9/schema$lead at=response ip=127.0.0.1 service=82.94556713104248ms status=200 user_agent=python-requests/2.11.1 level=info

これらのログは request_id​ によって関連付けることができます。

サポートされているデータ型

Heroku External Objects では、以下の PostgreSQL データ型をサポートしています。

  • bigint
  • boolean
  • bytea
  • character​ / character varying
  • date
  • double precision
  • integer
  • numeric
  • real
  • smallint
  • text
  • time​ (後の注記を参照してください)
  • timestamp
  • uuid

サポートされていないデータ型を持つテーブルまたはビューを有効にした場合、サポートされていないフィールドは結果に含まれません。

Salesforce Connect では、PostgreSQL の time​ データ型に対応する TimeOfDay​ OData 型はサポートされていません​。Heroku External Objects で time​ フィールドを公開することはできますが、Salesforce Connect を使用して外部オブジェクト定義を作成するとき、それらのフィールドは無視されます。

制限

プライマリキーに対して生成される ID のデフォルト値

PostgreSQL では、GENERATED BY DEFAULT AS IDENTITY​ または GENERATED ALWAYS AS IDENTITY​ でプライマリキー列を作成することにより、SERIAL​ または BIGSERIAL​ の使用に代わる方法に対するサポートが追加されました。これらのデフォルト値は Heroku External Objects ではサポートされていないため、新しいレコードの作成は失敗します。取得、更新、削除は機能します。

大文字と小文字を区別しない検索

External Objects 内のデータを Salesforce で検索するとき、大文字と小文字は区別されます。大文字と小文字を区別しない検索は、Heroku External Objects でサポートされていません。

Batch Apex

Salesforce で Batch Apex を使用して Heroku External Objects をクエリする操作は、サポートされていません。

外部変更データの捕捉

Heroku External Objects では、Salesforce Connect の外部変更データ捕捉​機能はサポートされていません。

フリーテキスト検索式

Heroku External Objects では、Salesforce Connect からのフリーテキスト検索式​検索クエリはサポートされていません。

Global Search

Salesforce の Global Search を使用すると、クエリの結果が External Results​ (外部結果) の下に表示されます。

クエリの時間制限

Heroku External Objects によって生成されたクエリは 20 秒以内に完了しなければならず、完了しない場合、Heroku External Objects は 530 応答を Salesforce Connect に返します。

リクエストの圧縮

Salesforce で外部データソースに対して Compress Requests​ (リクエストの圧縮) オプションを有効にすることはサポートされていません。

推定の odata.count 値

Postgres テーブル内の行のカウントは遅く、データベースにとって厳しい場合があります。その結果、クエリへのページ分割された結果を返す場合、Heroku External Objects は、まだ結果が残っていることを示すために 1 つ多いレコード数を返します。

列のないテーブルの未サポート

PostgreSQL では列のないテーブルをユーザーが作成できますが、これは SQL 仕様に準拠しておらず、Heroku External Objects のコンテキストでは意味的にあいまいです。したがって、Heroku External Objects では列のないテーブルはサポートされておらず、表示もされません。

複合プライマリキーの未サポート

Heroku External Objects では、複合プライマリキーはサポートされません。複合プライマリキーの代わりに、2 つ以上のソース列が連結された値を格納する列を作成し、これをプライマリキーとして設定してください。

パーティション分割されたテーブルの未サポート

Heroku External Objects では、パーティション分割されたテーブルはサポートされません。場合によっては、Heroku External Objects で、親テーブル全体のビューを作成して、有効にするビューを選択する​ことでこの制限を回避できます。

関連カテゴリー

  • Heroku Connect (Salesforce 同期)
Heroku External Objects と Salesforce Connect Heroku External Objects と Salesforce Connect

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure
  • .NET

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing
  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Github
  • LinkedIn
  • © 2025 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States
  • heroku.com
  • Legal
  • Terms of Service
  • Privacy Information
  • Responsible Disclosure
  • Trust
  • Contact
  • Cookie Preferences
  • Your Privacy Choices