CData Sync App は、Asana データをデータベース、データレイク、またはデータウェアハウスに継続的にパイプライン化する簡単な方法を提供し、分析、レポート、AI、および機械学習で簡単に利用できるようにします。
Asana コネクタはCData Sync アプリケーションから使用可能で、Asana からデータを取得して、サポートされている任意の同期先に移動できます。
Sync App アプリケーションの接続 ページに移動し、接続の追加 パネルで対応するアイコンを選択して、Asana への接続を作成します。Asana アイコンが利用できない場合は、Add More アイコンをクリックしてCData サイトからAsana コネクタをダウンロードおよびインストールします。
必須プロパティは[設定]タブにリストされています。[Advanced]タブには、通常は必要ない接続プロパティが表示されます。
You can optionally set the following to refine the data returned from Asana.
Asana uses the OAuth authentication standard.
AuthScheme must be set to OAuth in all user account flows.
When connecting via a Web application, you need to register a custom OAuth app with Asana. You can then use the Sync App to get and manage the OAuth token values. See カスタムOAuth アプリの作成 for more information.
Get an OAuth Access Token
Set the following connection properties to obtain the OAuthAccessToken:
Then call stored procedures to complete the OAuth exchange:
After you have obtained the access and refresh tokens, you can connect to data and refresh the OAuth access token either automatically or manually.
Automatic Refresh of the OAuth Access Token
To have the Sync App automatically refresh the OAuth access token, set the following on the first data connection.
Manual Refresh of the OAuth Access Token
The only value needed to manually refresh the OAuth access token when connecting to data is the OAuth refresh token. Use the RefreshOAuthAccessToken stored procedure to manually refresh the OAuthAccessToken after the ExpiresIn parameter value returned by GetOAuthAccessToken has elapsed, then set the following connection properties:
Then call RefreshOAuthAccessToken with OAuthRefreshToken set to the OAuth refresh token returned by GetOAuthAccessToken. After the new tokens have been retrieved, open a new connection by setting the OAuthAccessToken property to the value returned by RefreshOAuthAccessToken.
Finally, store the OAuth refresh token so that you can use it to manually refresh the OAuth access token after it has expired.
このセクションでは、Asana Sync App の高度な機能を厳選して説明します。
Sync App を使用すると、事前設定されたクエリによって内容が決定されるユーザー定義ビューと呼ばれる仮想テーブルを定義できます。 このビューは、ドライバーに発行されるクエリを直接制御できない場合に有効です。 カスタムビューの作成と設定の概要については、ユーザー定義ビュー を参照してください。
SSL の設定 を使用して、Sync App が証明書のネゴシエーションをどのように扱うかを調整します。さまざまな証明書形式を選択できます。 詳しくは、接続文字列オプションにあるSSLServerCert プロパティを参照してください。
Windows プロキシとHTTP プロキシを含むファイアウォールとプロキシ に合致するようSync App を設定します。トンネル接続を設定することもできます。
Sync App は、Asana にできるだけ多くのSELECT ステートメント処理をオフロードし、残りのクエリをクライアント側のインメモリで処理します。
詳しくはクエリ処理 を参照してください。
CData ログを調整するために使用可能な設定の概要については、ログ を参照してください。基本的なロギングでは、 次の2つの接続プロパティを設定するだけです。LogModules 接続プロパティを使用してログに記録する情報のサブセットを選択できる、 より洗練されたロギングをサポートする多数の機能があります。
デフォルトでは、Sync App はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL / TLS のネゴシエーションを試みます。
別の証明書を指定するには、利用可能なフォーマットについてSSLServerCert プロパティを参照してください。
Windows のシステムプロキシ経由の接続では、接続プロパティを追加で設定する必要はありません。他のプロキシに接続するには、ProxyAutoDetect をfalse に設定します。
さらにHTTP プロキシへの認証には、ProxyServer とProxyPort に加えてProxyAuthScheme、ProxyUser、およびProxyPassword を設定します。
次のプロパティを設定します。
This section shows the available API objects and provides more information on executing SQL to Asana APIs.
ビュー describes the available views. Views are statically defined to model Projects, Users, Workspaces, and more.
ストアドプロシージャ are function-like interfaces to Asana. Stored procedures allow you to execute operations to Asana, including downloading documents and moving envelopes.
Sync App はAsana のデータを、標準のSQL ステートメントを使用してクエリできるテーブルのリストにモデル化します。
一般的には、Asana テーブルのクエリは、リレーショナルデータベースのテーブルのクエリと同じです。時には特別なケースもあります。例えば、テーブルの特定のカラムデータを取得するために特定のカラムをWHERE 句に含める必要がある場合などです。これは通常、特定のカラムを取得するために行ごとに個別のリクエストを行う必要がある場合に必要です。これらの特別な状況は、以下にリンクされているテーブルページの上部に明確に文書化されています。
Name | Description |
Attachments | To Delete and Query from the Attachments in the tasks. |
PortfolioItems | To Create, delete, and Query Items in the Portfolio. |
PortfolioMembership | To Create, Delete and Query memberships in the Portfolio. |
Portfolios | To Create, update, delete, and query from Portfolios table. |
ProjectMembership | To Create, Delete and Query memberships in the Project. |
Projects | To Create, Update, Delete and Query the Projects table. |
ProjectStatuses | To Create, Delete and Query from ProjectStatuses table. A project status is an update on the progress of a particular project, and is sent out to all project followers when created. |
Sections | To Create, Update, Delete, and Query from Sections table. A section is a subdivision of a project that groups tasks together. |
Stories | To Create, Update, Delete and Query from stories table. A story represents an activity associated with an object in the Asana system. Stories are generated by the system whenever users take actions such as creating or assigning tasks, or moving tasks between projects. |
SubTasks | To Create, update, delete, and query from SubTasks table. |
Tags | To Create, Update and Query from Tags table. A tag is a label that can be attached to any task in Asana. It exists in a single workspace. |
Tasks | To Create, Update, Delete and Query from Tasks table. |
TeamMembership | To represents a users connection to a team. |
Teams | A team is used to group related projects and people together within an organization. Each project in an organization is associated with a team. |
WorkspaceMembership | To Create, Delete and Query memberships in the Workspace. |
Workspaces | To Update and Query from Workspaces table. A workspace is the highest-level organizational unit in Asana. All projects and tasks have an associated workspace. |
To Delete and Query from the Attachments in the tasks.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The TaskId or Id is required to make a request and the rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Attachments WHERE Id = '1134618934491707' SELECT * FROM Attachments WHERE TaskId = '1128092964672854'
Following is an example of how to delete from Attachments table:
DELETE FROM Attachments WHERE Id = '1134618934491707'
Name | Type | ReadOnly | References | Description |
Id [KEY] | String | True |
Globally unique ID of the attachment. | |
Name | String | True |
The name of the file. | |
Host | String | True |
The service hosting the attachment. Valid values are asana, dropbox, gdrive and box. | |
CreatedAt | Datetime | True |
The time at which this attachment was uploaded. | |
ViewURL | String | True |
The URL where the attachment can be viewed, which may be friendlier to users in a browser than just directing them to a raw file. | |
DownloadURL | String | True |
May be null if the attachment is hosted by box. If present, this URL may only be valid for 1 hour from the time of retrieval. You should avoid persisting this URL somewhere and just refresh it on demand to ensure you do not keep stale URLs. | |
TaskId | String | True |
Tasks.Id |
The task this attachment is attached to. |
ResourceType | String | True |
The resource type of this resource. |
To Create, delete, and Query Items in the Portfolio.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The PortfolioId is required to make a request and rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM PortfolioItems WHERE PortfolioId = '1173026173301164'
ProjectId and PortfolioId is a mandatory column for inserting into PortfolioItems table. For example:
INSERT INTO PortfolioItems (ProjectId, PortfolioId) VALUES ('1173023668354420', '1173026173301164')
Following is an example of how to delete from PortfolioItems table:
DELETE FROM PortfolioItems WHERE ProjectId = '1173023668354420' AND PortfolioId = '1173026173301164'
Name | Type | ReadOnly | References | Description |
Id | String | True |
Globally unique ID of the Portfolio Item. | |
Name | String | True |
Name of the Item. | |
PortfolioId [KEY] | String | True |
Portfolios.Id |
Globally unique ID of the portfolio. |
OwnerId | String | True |
Globally unique ID of the Owner. | |
StartOn | Date | True |
The day on which work for this project begins, or null if the project has no start date. | |
DueOn | Date | True |
The day on which this project is due. This takes a date with format YYYY-MM-DD. | |
ProjectId [KEY] | String | True |
Projects.Id |
Globally unique ID of the Project. This column is a Pseudocolmn and its used for INSERT and UPDATE. |
To Create, Delete and Query memberships in the Portfolio.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The [WorkspaceId AND UserId] OR PortfolioId OR Id is required to make a request and rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM PortfolioMembership WHERE WorkspaceId='1172686716695308' AND UserId='1172686741877880' SELECT * FROM PortfolioMembership WHERE PortfolioId='1172684730399265' SELECT * FROM PortfolioMembership WHERE Id='1172684730399266'
PortfolioId and UserId is a mandatory column for inserting into PortfolioMembership table. For example:
INSERT INTO PortfolioMembership (PortfolioId, UserId) VALUES ('1172684730399265', '1172686741877880')
Following is an example of how to delete from PortfolioMembership table:
DELETE FROM PortfolioMembership WHERE PortfolioId='1172684730399265' AND UserId='1172686741877880'
Name | Type | ReadOnly | References | Description |
Id [KEY] | String | True |
Globally unique ID of the portfoolio membership. | |
PortfolioId [KEY] | String | True |
Portfolios.Id |
The portfolio the user is a member of. |
PortfolioName | String | True |
The name of the portfolio. | |
UserId [KEY] | String | True |
Users.Id |
Globally unique ID of the user. |
UserName | String | True |
The users name. | |
ResourceType | String | True |
The resource type of this resource. | |
WorkspaceId | String | True |
Workspaces.Id |
Globally unique ID of the workspace. This column is a Pseudocolmn and its used in SELECT Query. |
To Create, update, delete, and query from Portfolios table.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The [WorkspaceId AND OwnerId] OR Id is required to make a request and rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Portfolios WHERE WorkspaceId = '1172686716695308' AND OwnerId = '1172686741877880' SELECT * FROM Portfolios WHERE Id = '1172684730399265'
WorkspaceId is a mandatory column for inserting into Portfolios table. For example:
INSERT INTO Portfolios (Name, Color, WorkspaceId) VALUES ('Test', 'dark-pink','1172686716695308'
Following is an example of how to update a Portfolios table:
"UPDATE Portfolios SET Name = 'IT-Test' WHERE Id = '1173026173301164'
Following is an example of how to delete from Portfolios table:
DELETE FROM Portfolios WHERE Id = '1172684730399265'
Name | Type | ReadOnly | References | Description |
Id [KEY] | String | True |
Globally unique ID of the portfolio. | |
Name | String | False |
Name of the portfolio. | |
Color | String | False |
Color of the portfolio. 使用できる値は次のとおりです。dark-pink, dark-green, dark-blue, dark-red, dark-teal, dark-brown, dark-orange, dark-purple, dark-warm-gray, light-pink, light-green, light-blue, light-red, light-teal, light-brown, light-orange, light-purple, light-warm-gray | |
CreatedAt | Datetime | True |
The time at which this portfolio was created. | |
CreatorId | String | True |
Globally unique ID of the user created this portfolio. | |
CreatorName | String | True |
The users name. | |
Members | String | False |
Array of users who are members of this portfolio. | |
OwnerId | String | False |
Users.Id |
Globally unique ID of the Owner. |
OwnerName | String | True |
The Owners Name. | |
ResourceType | String | True |
The base type of this resource. | |
WorkspaceId | String | False |
Workspaces.Id |
The workspace or organization that the portfolio belongs to. |
WorkspaceName | String | True |
Name of the workspace. |
To Create, Delete and Query memberships in the Project.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM ProjectMembership WHERE Id = '1127092449876445' SELECT * FROM ProjectMembership WHERE ProjectId = '1127092449876444'
UserId and ProjectId is a mandatory column for inserting into ProjectMembership table. For example:
INSERT INTO ProjectMembership (UserId, ProjectId) VALUES ('1161963899354167','1128092964672848')
Following is an example of how to delete from ProjectMembership table:
DELETE FROM ProjectMembership WHERE UserId = '1161963899354167' AND ProjectId = '1128092964672848'
Name | Type | ReadOnly | References | Description |
Id [KEY] | String | True |
Globally unique ID of the project membership. | |
ProjectId [KEY] | String | False |
Projects.Id |
The project the user is a member of. |
WriteAccess | String | True |
Whether the user has full access to the project or has comment-only access. | |
UserId [KEY] | String | False |
Users.Id |
The user in the membership. |
ResourceType | String | True |
The resource type of this resource. |
To Create, Update, Delete and Query the Projects table.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM projects WHERE workspaceId = '1126938837961830' SELECT * FROM projects WHERE Id = '1128092864672888' SELECT * FROM projects WHERE TaskId = '1130092964672468'
WorkspaceId or TeamId is a mandatory column for inserting into Projects table. For example:
INSERT INTO Projects (Name, Color, StartOn, WorkspaceId, DueOn, public, UserId) values ('ProjectName', 'dark-pink', '2020-03-01', '1126938837961830', '2020-04-30', false, '1130062547672468')
Following is an example of how to update a Projects table:
UPDATE Projects SET TeamId = '1129514033997890' WHERE Id = '1128092864672888'
Following is an example of how to delete from Projects table:
DELETE FROM Projects WHERE Id = '1128092864672888'
Name | Type | ReadOnly | References | Description |
Id [KEY] | String | True |
Globally unique ID of the project. | |
Name | String | False |
Name of the project. This is generally a short sentence fragment that fits on a line in the UI for maximum readability. However, it can be longer. | |
Color | String | False |
Color of the project. Must be either null or one of: dark-pink, dark-green, dark-blue, dark-red, dark-teal, dark-brown, dark-orange, dark-purple, dark-warm-gray, light-pink, light-green, light-blue, light-red, light-teal, light-yellow, light-orange, light-purple, light-warm-gray. 使用できる値は次のとおりです。dark-pink, dark-green, dark-blue, dark-red, dark-teal, dark-brown, dark-orange, dark-purple, dark-warm-gray, light-pink, light-green, light-blue, light-red, light-teal, light-brown, light-orange, light-purple, light-warm-gray, green, yellow, red | |
CreatedAt | Datetime | True |
The time at which this project was created. | |
ModifiedAt | Datetime | True |
The time at which this project was last modified. | |
StartOn | Date | False |
The day on which work for this project begins, or null if the project has no start date. This takes a date with YYYY-MM-DD format. Note: due_on must be present in the request when setting or unsetting the start_on parameter. | |
DueOn | Date | False |
The day on which this project is due. This takes a date with format YYYY-MM-DD. | |
DefaultView | String | False |
The default view of a project. 使用できる値は次のとおりです。list, board, calendar, timeline | |
Followers | String | False |
Followers are a subset of members who receive all notifications for a project. | |
Archived | Boolean | False |
True if the project is archived, false if not. Archived projects do not show in the UI by default and may be treated differently for queries. | |
UserId | String | False |
Users.Id |
The current owner of the project. |
TeamId | String | False |
Teams.Id |
The team that this project is shared with. This field only exists for projects in organizations. |
WorkspaceId | String | True |
Workspaces.Id |
The workspace or organization this project is associated with. Once created, projects cannot be moved to a different workspace. This attribute can only be specified at creation time. |
Public | Boolean | False |
True if the project is public to the organization. If false, do not share this project with other users in this organization without explicitly checking to see if they have access. | |
Notes | String | False |
More detailed, free-form textual information associated with the project. | |
HTMLNotes | String | False |
The notes of the project with formatting as HTML. | |
IsTemplate | Boolean | False |
Determines if the project is a template. | |
Layout | String | True |
The layout (board or list view) of a project. | |
Members | String | True |
Array of users who are members of this project. | |
SectionMigrationStatus | String | True |
The section migration status of this project. | |
TaskId | String | True |
Globally unique ID of the Task. |
To Create, Delete and Query from ProjectStatuses table. A project status is an update on the progress of a particular project, and is sent out to all project followers when created.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM ProjectStatuses WHERE Id = '1127092449876445' SELECT * FROM ProjectStatuses WHERE ProjectId = '1127092449876444'
ProjectId is a mandatory column for inserting into ProjectStatuses table. For example:
INSERT INTO projectstatuses (Color, Title, Text, ProjectId) VALUES ('red', 'Status1', 'StatusNotes','1127092449876444')
Following is an example of how to delete from ProjectStatuses table:
DELETE FROM ProjectStatuses WHERE Id = '1127092449876445'
Name | Type | ReadOnly | References | Description |
Id [KEY] | String | True |
Globally unique ID of the project status update. | |
Color | String | True |
The color associated with the status update. 使用できる値は次のとおりです。green, yellow, red | |
Title | String | True |
The title of the project status update. | |
Text | String | True |
The text content of the status update. | |
CreatedAt | Datetime | True |
The time at which the status update was created. | |
CreatedBy | String | True |
The creator of the status update. | |
ProjectId | String | True |
Projects.Id |
Globally unique ID of the project. |
ResourceType | String | True |
The resource type of this resource. The value for this resource is always project_status. | |
HTMLText | String | True |
The notes of the project with formatting as HTML. |
To Create, Update, Delete, and Query from Sections table. A section is a subdivision of a project that groups tasks together.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Sections WHERE Id = '1127092449876457' SELECT * FROM Sections WHERE ProjectId = '1128092964672848'
ProjectId is a mandatory column for inserting into Sections table. For example:
INSERT INTO Sections (Name, ProjectId) VALUES ('SectionName', '1128092964672848')
Following is an example of how to update a Sections table:
UPDATE Sections SET Name='IT-Pending' WHERE Id='1127092449876457'
Following is an example of how to delete from Sections table:
DELETE FROM Sections WHERE Id = '1127092449876457'
Name | Type | ReadOnly | References | Description |
Id [KEY] | String | True |
Globally unique ID of the section. | |
Name | String | False |
The name of the section. | |
CreatedAt | Datetime | True |
The time at which the section was created. | |
ResourceType | String | True |
The resource type of this resource. | |
ProjectId | String | False |
Projects.Id |
The section under the project. |
To Create, Update, Delete and Query from stories table. A story represents an activity associated with an object in the Asana system. Stories are generated by the system whenever users take actions such as creating or assigning tasks, or moving tasks between projects.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The TaskId or Id is required to make a request and rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Stories WHERE Id = '1126938691750986' SELECT * FROM Stories WHERE TaskId = '1129514033997892'
TaskId is a mandatory column for inserting into Stories table. For example:
INSERT INTO Stories (Text, TaskId, IsPinned) VALUES ('InProgress', '1129514033997892', false)
Following is an example of how to update a Stories table:
UPDATE Stories SET Text = 'story line' WHERE Id = '1126938691750986'
Following is an example of how to delete from Stories table:
DELETE FROM Stories WHERE Id = '1126938691750986'
Name | Type | ReadOnly | References | Description |
Id [KEY] | String | True |
Globally unique ID of the story. | |
Text | String | False |
Formatted text for the story or comment. | |
CreatedAt | Datetime | True |
The time at which this story was created. | |
creatorId | String | True |
The user who created the story. | |
creatorName | String | False |
Users.Name |
The user who created the story. |
Source | String | True |
The component of the Asana product the user used to create the story. | |
TaskId | String | False |
Tasks.Id |
The story under the task. |
Liked | Boolean | True |
True if the story is liked by the authorized user, false if not. | |
IsPinned | Boolean | False |
This field is only present on comment and attachment stories. | |
IsEdited | Boolean | True |
Whether the text of the story has been edited after creation. | |
ResourceType | String | True |
The resource type of this resource. | |
ResourceSubType | String | True |
The type of story. This provides fine-grained information about what triggered the story creation. | |
HtmlText | String | True |
HTML formatted text for a comment. | |
DuplicateTaskOf | String | True |
The task is the basic object around which many operations in Asana are centered. | |
DependencyTaskId | String | True |
The task is the basic object around which many operations in Asana are centered. | |
NumberofLikes | Integer | True |
The number of users who have liked this story. | |
Likes | String | True |
Array of likes for users who have liked this story. |
To Create, update, delete, and query from SubTasks table.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following query is processed on server side and it is a required filter:
SELECT * FROM SubTasks WHERE ParentTaskId = '1127092449876457'
A simple SELECT query will only return the first level of subtasks.
SELECT * FROM SubTasks
There may be up to five levels of subtasks below a task. (Note, Asana does not recommend using sub-subtasks).
If additional levels of subtasks are needed, a subquery can be used:
SELECT * FROM SubTasks WHERE ParentTaskId IN (SELECT Id FROM SubTasks)
When executing a query without a ParentTaskId filter, due to the Asana API design, subtasks are only retrieved on a per task basis. The Sync App will first query the
workspace to retrieve a list of projects. A separate request will then be made for each project to retrieve all the applicable tasks. Another request will be made for
each task to retrieve any subtasks associated with the task. In theory, this is similar to executing the following query:
SELECT * FROM SubTasks WHERE ParentTaskId IN (SELECT Id FROM Tasks WHERE ProjectId IN (SELECT Id FROM Projects))Due to the number of required requests, performance may be impacted.
ParentTaskId is a mandatory column for inserting into Projects table. For example:
INSERT INTO SubTasks (ParentTaskId, Name, Assignee, AssigneeStatus, startOn, DueOn, Completed, ProjectId, Notes, ApprovalStatus, Followers) VALUES ('1167713816822372', 'subtask1', '1167715005778471', 'later', '2020-03-25', '2020-04-01',false,1167713816822364, 'SubTask Notes', 'changes_requested', '1167715005778471')
Name | Type | ReadOnly | References | Description |
Id [KEY] | String | True |
Globally unique ID of the Subtask. | |
ParentTaskId | String | True |
Globally unique ID of the task. | |
Name | String | False |
Name of the Subtask. | |
Assignee | String | False |
User to which this subtask is assigned. | |
AssigneeStatus | String | False |
Scheduling status of this subtask for the user it is assigned to. 使用できる値は次のとおりです。today, upcoming, later, new, inbox | |
CreatedAt | Datetime | True |
The time at which this subtask was created. | |
ModifiedAt | Datetime | True |
The time at which this subtask was last modified. | |
startOn | Date | False |
The day on which work begins for the task , or null if the task has no start date. This takes a date with YYYY-MM-DD format. | |
DueAt | Datetime | False |
Date and time on which this subtask is due, or null if the subtask has no due time. | |
DueOn | Date | False |
Date on which this task is due, or null if the task has no due date. This takes a date with YYYY-MM-DD format. | |
Completed | Boolean | False |
True if the subtask is currently marked complete, false if not. | |
CompletedAt | Datetime | True |
The time at which this subtask was completed, or null if the subtask is incomplete. | |
completed_by | String | True |
The user who completed this task. | |
ProjectId | String | False |
Projects.Id |
Globally unique ID of the Project. |
WorkspaceId | String | False |
Workspaces.Id |
Globally unique ID of the Workspace. |
Notes | String | False |
More detailed, free-form textual information associated with the subtask. | |
ApprovalStatus | String | False |
Reflects the approval status of this task. 使用できる値は次のとおりです。pending, approved, rejected, changes_requested | |
ResourceSubType | String | False |
The subtype of this resource. Different subtypes retain many of the same fields and behavior, but may render differently in Asana or represent resources with different semantic meaning. 使用できる値は次のとおりです。default_task, milestone, section, approval | |
HtmlNotes | String | False |
The notes of the text with formatting as HTML. | |
Dependencies | String | True |
Array of resources referencing tasks that this task depends on. | |
Memberships | String | True |
Array of projects this task is associated with and the section it is in. | |
Dependents | String | True |
Array of resources referencing tasks that depend on this task. | |
Liked | Boolean | False |
True if the task is liked by the authorized user, false if not. | |
NumberofLikes | Integer | True |
The number of users who have liked this Task. | |
LikedBy | String | True |
Array of likes for users who have liked this task. | |
ResourceType | String | True |
The base type of this resource. | |
IsRenderedAsSeparator | Boolean | True |
In some contexts tasks can be rendered as a visual separator. | |
Followers | String | False |
Array of users following this task. | |
Tags | String | False |
Array of tags associated with this task. |
To Create, Update and Query from Tags table. A tag is a label that can be attached to any task in Asana. It exists in a single workspace.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Tags WHERE Id = '1129517083601713' SELECT * FROM Tags WHERE WorkspaceId = '1126938837961830' SELECT * FROM Tags WHERE TaskId = '1128092964672854'
Workspaceid is a mandatory column for inserting into Tags table. For example:
INSERT INTO Tags (Name, Color, WorkspaceId, Notes) VALUES ('TestTag', 'dark-blue', '1126938837961830','sample notes')
Following is an example of how to update a Tags table:
UPDATE Tags SET Name='IT-1' WHERE Id='1158271967831255'
Name | Type | ReadOnly | References | Description |
Id [KEY] | String | True |
Globally unique ID of the tag. | |
Name | String | True |
Name of the tag. | |
CreatedAt | Datetime | True |
The time at which this tag was created. | |
Color | String | True |
Color of the tag. 使用できる値は次のとおりです。dark-pink, dark-green, dark-blue, dark-red, dark-teal, dark-brown, dark-orange, dark-purple, dark-warm-gray, light-pink, light-green, light-blue, light-red, light-teal, light-brown, light-orange, light-purple, light-warm-gray | |
Notes | String | False |
Notes of the tag. | |
Followers | String | True |
Followers for the tag. | |
WorkspaceId | String | True |
Workspaces.Id |
The workspace or organization this tag is associated with. |
TaskId | String | True |
Tasks.Id |
The task this tag is mapped with. |
To Create, Update, Delete and Query from Tasks table.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Tasks WHERE Id = '1127092449876457' SELECT * FROM Tasks WHERE ProjectId = '1128092964672848' SELECT * FROM Tasks WHERE Assignee = '1126938691750986' AND WorkspaceId = '1126938837961830' SELECT * FROM Tasks WHERE Assignee = '1126938691750986' SELECT * FROM tasks WHERE TagId = '1129517083601713' SELECT * FROM tasks WHERE SectionId = '1127092449876457' SELECT * FROM tasks WHERE UserTaskListId = '1126938837961837'
When executing a query without one of the above filters, due to the Asana API design, tasks must be retrieved per project. The Sync App will first query the
workspace to retrieve a list of projects. A separate request will then be made for each project to retrieve all the applicable tasks. In theory, this is similar
to executing the following query:
SELECT * FROM Tasks WHERE ProjectId IN (SELECT Id FROM Projects)Due to the number of required requests, performance may be impacted. Note, tasks may also be orphaned and not belong to a project. The Sync App will not be able to retrieve orphaned tasks.
ProjectId is a mandatory column for inserting into Tasks table. For example:
INSERT INTO Tasks (Name, Assignee, AssigneeStatus, startOn, DueOn, Completed, ProjectId, Notes, ApprovalStatus, Followers) VALUES ('Task1', '1167715005778471', 'later', '2020-03-25', '2020-04-01',false,1167713816822364, 'TaskNotes', 'changes_requested', '1167715005778471')
Following is an example of how to update a Tasks table:
UPDATE Tasks SET Browser='ie' WHERE Id = '1167713816822371'
Following is an example of how to delete from Tasks table:
DELETE FROM Tasks WHERE Id = '1167713816822371'
Name | Type | ReadOnly | References | Description |
Id [KEY] | String | True |
Globally unique ID of the task. | |
Name | String | False |
Name of the task. | |
Assignee | String | False |
User to which this task is assigned. | |
AssigneeStatus | String | False |
Scheduling status of this task for the user it is assigned to. 使用できる値は次のとおりです。today, upcoming, later, new, inbox | |
CreatedAt | Datetime | True |
The time at which this task was created. | |
ModifiedAt | Datetime | True |
The time at which this task was last modified. | |
startOn | Date | False |
Date and time on which this task is due, or null if the task has no due time. | |
DueAt | Datetime | False |
Date and time on which this task is due, or null if the task has no due time. | |
DueOn | Date | False |
Date on which this task is due, or null if the task has no due date. This takes a date with YYYY-MM-DD format. | |
Completed | Boolean | False |
True if the task is currently marked complete, false if not. | |
CompletedAt | Datetime | True |
The time at which this task was completed, or null if the task is incomplete. | |
CompletedBy | String | True |
The user who completed this task. | |
ProjectId | String | False |
Projects.Id |
Projectid of this task is associated with. |
Projects | String | False |
Projects of this task is associated with. | |
WorkspaceId | String | False |
Workspaces.Id |
Globally unique ID of the Workspace. |
Notes | String | False |
More detailed, free-form textual information associated with the task. | |
NumberofSubTasks | Integer | True |
The number of subtasks on this task. | |
ApprovalStatus | String | False |
Reflects the approval status of this task. 使用できる値は次のとおりです。pending, approved, rejected, changes_requested | |
ResourceSubType | String | False |
The subtype of this resource. Different subtypes retain many of the same fields and behavior, but may render differently in Asana or represent resources with different semantic meaning. 使用できる値は次のとおりです。default_task, milestone, section, approval | |
HtmlNotes | String | False |
The notes of the text with formatting as HTML. | |
Memberships | String | True |
Array of projects this task is associated with and the section it is in. | |
Dependencies | String | True |
Array of resources referencing tasks that this task depends on. | |
Dependents | String | True |
Array of resources referencing tasks that depend on this task. | |
Liked | Boolean | True |
True if the task is liked by the authorized user, false if not. | |
NumberofLikes | Integer | True |
The number of users who have liked this Task. | |
LikedBy | String | True |
Array of likes for users who have liked this task. | |
ResourceType | String | True |
The base type of this resource. | |
IsRenderedAsSeparator | Boolean | True |
In some contexts tasks can be rendered as a visual separator. | |
Followers | String | True |
Array of users following this task. | |
Tags | String | False |
Array of tags associated with this task. | |
SectionId | String | True |
Sections.Id |
PseudoColumn: Globally unique ID of the section. |
UserTaskListId | String | True |
WorkspaceMembership.UserTaskListId |
PseudoColumn: A user task list represents the tasks assigned to a particular user. |
TagId | String | True |
Tags.Id |
PseudoColumn: Globally unique ID of the tag. |
To represents a users connection to a team.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM TeamMembership WHERE UserId = '1126938691750986' AND WorkspaceId = '1126938837961830' SELECT * FROM TeamMembership WHERE TeamId = '1126938837961832' SELECT * FROM TeamMembership WHERE Id = '1126938837961832'
UserId and TeamId is a mandatory column for inserting into TeamMembership table. For example:
INSERT INTO TeamMembership (UserId, TeamId) VALUES ('1161963899354167','1126938837961832')
Following is an example of how to delete from TeamMembership table:
DELETE FROM TeamMembership WHERE UserId = '1161963899354167' AND TeamId = '1126938837961832'
Name | Type | ReadOnly | References | Description |
Id [KEY] | String | True |
Globally unique identifier of the resource, as a string. | |
userId | String | True |
Globally unique ID of the user. | |
userName | String | True |
The users name. | |
TeamId | String | True |
Globally unique ID of the team. | |
TeamName | String | True |
The name of the team. | |
IsGuest | Boolean | True |
Describes if the user is a guest in the team. | |
ResourceType | String | True |
The base type of this resource. | |
WorkspaceId | String | True |
Globally unique ID of the workspace. |
A team is used to group related projects and people together within an organization. Each project in an organization is associated with a team.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Teams WHERE Id = '1126938837961832' SELECT * FROM Teams WHERE WorkspaceId = '1126938837961830' SELECT * FROM Teams WHERE UserId = '1126938691750986' AND workspaceid = '1126938837961830'
INSERT INTO Teams (Name,Description,HTMLDescrption,WorkspaceId) Values ('Salessssk','sales developers should be members of this team.','<body> <em>All</em> developers should be members of this team.</body>','1126938837961830')
Name | Type | ReadOnly | References | Description |
Id [KEY] | String | True |
Globally unique ID of the team. | |
Name | String | True |
The name of the team. | |
Description | String | True |
The description of the team. | |
WorkspaceId | String | True |
Workspaces.Id |
The workspace or organization this team is associated with. |
HTMLDescrption | String | True |
The description of the team with formatting as HTML. | |
ResourceType | String | True |
The resource type of this resource. | |
UserId | String | True |
Users.Id |
Globally unique ID of the user. |
To Create, Delete and Query memberships in the Workspace.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM WorkspaceMembership WHERE WorkspaceId = '1126938837961830' SELECT * FROM WorkspaceMembership WHERE UserId = '1126938691750986' SELECT * FROM WorkspaceMembership WHERE Id = '1126938837961834'
UserId and WorkspaceId is a mandatory column for inserting into WorkspaceMembership table. For example:
INSERT INTO WorkspaceMembership (UserId, WorkspaceId) VALUES ('1161963899354167','1126938837961830')
Following is an example of how to delete from WorkspaceMembership table:
DELETE FROM WorkspaceMembership WHERE UserId = '1161963899354167' AND WorkspaceId = '1126938837961830'
Name | Type | ReadOnly | References | Description |
Id [KEY] | String | True |
Globally unique ID of the membership. | |
userId [KEY] | String | True |
Globally unique ID of the user. | |
userName | String | True |
The user`s name. | |
WorkspaceId [KEY] | String | True |
Globally unique ID of the workspace. | |
WorkspaceName | String | True |
The Workspace name. | |
IsActive | Boolean | True |
Reflects if this user still a member of the workspace. | |
IsAdmin | Boolean | True |
Reflects if this user is an admin of the workspace. | |
IsGuest | Boolean | True |
Reflects if this user is a guest of the workspace. | |
UserTaskListId | String | True |
A user task list represents the tasks assigned to a particular user. | |
ResourceType | String | True |
The base type of this resource. |
To Update and Query from Workspaces table. A workspace is the highest-level organizational unit in Asana. All projects and tasks have an associated workspace.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Workspaces WHERE Id = '1126938837961835' SELECT * FROM Workspaces WHERE UserId = '1126938691750986'
Following is an example of how to update a Workspaces table:
UPDATE Workspaces SET Name='IT-Eng' WHERE Id='1126938837961835'
Name | Type | ReadOnly | References | Description |
Id [KEY] | String | True |
Globally unique ID of the workspace. | |
Name | String | False |
The name of the workspace. | |
ResourceType | String | True |
The resource type of this resource. | |
IsOrganization | Boolean | True |
Whether the workspace is an organization. | |
EmailDomains | String | True |
Whether the workspace is an organization. | |
UserId | String | True |
Users.Id |
Globally unique ID of the user. |
ビューは、カラムと疑似カラムで構成されます。ビューは、データを示すという点でテーブルに似ていますが、ビューでは更新はサポートされません。通常、ビューとして表されるエンティティは、読み取り専用のエンティティです。多くの場合、これらのデータはストアドプロシージャを使用することで更新できます(その機能がデータソースに適用できる場合)。
ビューに対しては、通常のテーブルと同じようにクエリを実行でき、このときに返されるデータも同様です。
ビューとして公開されるクエリなどの動的ビューや、project_team ワークアイテムの特定の組み合わせを検索するためのビューがサポートされています。
Name | Description |
CustomFields | To view the Custom Fields in the project. |
Events | To view the events in projects and tasks. |
ProjectFollowers | To view the Project follower details. |
ProjectTemplates | TO get ProjectTemplates in the Team or workspace. |
TaskStatuses | Get task count of a project. |
Users | To view the users details. |
UserTaskList | Generated schema file. |
To view the Custom Fields in the project.
The Sync App uses the Asana API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side in the Sync App.
For example, the following query is processed server side:
SELECT * FROM CustomFields WHERE ProjectId = '1126938691750986'
Name | Type | References | Description |
Id | String | Globally unique identifier of the resource. | |
Name | String | The name of the custom field. | |
Description | String | The description of the custom field. | |
Type | String | The type of the custom field. It must be one of the given values. | |
ProjectId | String | Globally unique Id of the project. | |
ProjectName | String | Name of the project. | |
IsImportant | Boolean | Name of the project. | |
Format | String | The format of the custom field. | |
TextValue | String | The value of a text custom field. | |
NumberValue | Double | The value of a number custom field. | |
Precision | Integer | Only relevant for custom fields of type 'Number'. This field specifies the number of digits after the decimal to round to. | |
CurrencyCode | String | The currency code for this custom field. The value is null if the format is not currency. | |
EnumOptions | String | Array of projects this task is associated with and the section it is in. | |
CreatedBy | String | Globally unique user identifier. | |
CreatedByName | String | The user's name. | |
IsGlobaltoWorkspace | Boolean | A flag that specifies whether this custom field is available to every container in the workspace. | |
HasNotificationsEnabled | Boolean | A flag that specifies whether a follower of a task with this field should receive inbox notifications about changes in this field. |
To view the events in projects and tasks.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The resource id will be either Project or Task Id. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Events WHERE ResourceId = '1128092964672854'
Name | Type | References | Description |
ResourceId [KEY] | String | The resource GID for the events were requested for. | |
ResourceType | String | The resource type for the events were requested for. | |
ResourceSubType | String | The resource sub type for the events were requested for. | |
ResourceName | String | The resource name for the events were requested for. | |
Parent | String | For added/removed events, the parent that resource was added to or removed from. null for other event types. | |
CreatedAt | Datetime | The timestamp when the event occurred. | |
UserId | String | The event may be triggered by a different user GID than the subscriber. | |
UserFullname | String | The event may be triggered by a different user name than the subscriber. | |
Action | String | The type of action taken that triggered the event. |
To view the Project follower details.
Name | Type | References | Description |
ProjectId | String |
Projects.Id | Globally unique ID of the Project. |
UserId | String | Globally unique ID of the user. | |
UserName | String | The user`s name. | |
ResourceType | String | The resource type of this resource. | |
WorkspaceId | String |
Workspaces.Id | The workspace this Project is associated with. |
TO get ProjectTemplates in the Team or workspace.
Name | Type | References | Description |
Id [KEY] | String | Globally unique identifier of the resource, as a string. | |
Color | String | Color of the project template. | |
Description | String | Free-form textual information associated with the project template. | |
Html_description | String | The description of the project template with formatting as HTML. | |
Name | String | Name of the project template. | |
OwnerId | String | A user object. Globally unique identifier of the resource, as a string. | |
OwnerName | String | A user object. The base type of this resource. | |
OwnerResourceType | String | A user object. Read-only except when same user as requester. The name of the User. | |
IsPublic | Boolean | True if the project template is public to its team. | |
RequestedDates | String | Array of date variables in this project template. Calendar dates must be provided for these variables when instantiating a project. | |
ResourceType | String | The base type of this resource. | |
TeamId | String |
Teams.Id | A team is used to group related projects and people together within an organization. Globally unique identifier of the resource, as a string. |
TeamName | String | A team is used to group related projects and people together within an organization. The name of the team. | |
TeamResourceType | String | A team is used to group related projects and people together within an organization. The base type of this resource. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description | |
WorkspaceId | String | The workspace Id to filter results on. |
Get task count of a project.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM TaskStatuses WHERE ProjectId = '1136437449978157'
Name | Type | References | Description |
ProjectId | String |
Projects.Id | Globally unique ID of the project. |
NumberofTasks | Integer | The number of tasks in a project. | |
CompletedTasks | Integer | The number of completed tasks in a project. | |
IncompleteTasks | Integer | The number of incomplete tasks in a project. | |
NumberofMilestones | Integer | The number of milestones in a project. | |
CompletedMilestones | Integer | The number of completed milestones in a project. | |
InCompleteMilestones | Integer | The number of incomplete milestones in a project. |
To view the users details.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Users WHERE Id = '1126938691750986' SELECT * FROM Users WHERE WorkspaceId = '1126938837961835' SELECT * FROM Users WHERE TeamId = '1129514033997892'
Name | Type | References | Description |
Id [KEY] | String | Globally unique ID of the user. | |
Name | String | The user`s name. | |
String | The user`s email address. | ||
ResourceType | String | The resource type of this resource. | |
WorkspaceId | String |
Workspaces.Id | The User access in workspaces. |
TeamId | String |
Teams.Id | Globally unique ID of the team. |
Generated schema file.
The Sync App will use the Asana API to process WHERE clause conditions built with the following column and operator. The [UserId and workspaceId] or Id is required to make a request and the rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM UserTaskList WHERE Id = '1126938837961837' SELECT * FROM UserTaskList WHERE UserId = '1126938691750986' AND workspaceId = '1126938837961830'
Name | Type | References | Description |
Id [KEY] | String |
WorkspaceMembership.UserTaskListId | Globally unique ID of the user task list. |
Name | String | The name of the user task list. | |
UserId | String |
Users.Id | The owner of the user task list. |
workspaceId | String |
Workspaces.Id | The workspace in which the user task list is located. |
ResourceType | String | The resource type of this resource. |
プロパティ | 説明 |
ProjectId | The globally unique identifier (gid) associated with your Asana Project. |
WorkspaceId | The globally unique identifier (gid) associated with your Asana Workspace. |
IncludeCustomFields | Custom fields may be added to the Tasks, SubTasks, and PortfolioItems tables. |
プロパティ | 説明 |
OAuthClientId | OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。 |
OAuthClientSecret | OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。 |
プロパティ | 説明 |
SSLServerCert | TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。 |
プロパティ | 説明 |
FirewallType | プロキシベースのファイアウォールで使われるプロトコル。 |
FirewallServer | プロキシベースのファイアウォールの名前もしくはIP アドレス。 |
FirewallPort | プロキシベースのファイアウォールのTCP ポート。 |
FirewallUser | プロキシベースのファイアウォールに認証するために使うユーザー名。 |
FirewallPassword | プロキシベースのファイアウォールへの認証に使われるパスワード。 |
プロパティ | 説明 |
ProxyAutoDetect | これは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。 |
ProxyServer | HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。 |
ProxyPort | ProxyServer プロキシが起動しているTCP ポート。 |
ProxyAuthScheme | ProxyServer プロキシへの認証で使われる認証タイプ。 |
ProxyUser | ProxyServer プロキシへの認証に使われるユーザー名。 |
ProxyPassword | ProxyServer プロキシへの認証に使われるパスワード。 |
ProxySSLType | ProxyServer プロキシへの接続時に使用するSSL タイプ。 |
ProxyExceptions | ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。 |
プロパティ | 説明 |
LogModules | ログファイルに含めるコアモジュール。 |
プロパティ | 説明 |
Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。 |
BrowsableSchemas | このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
Tables | このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。 |
Views | 使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。 |
プロパティ | 説明 |
MaxRows | クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。 |
Other | これらの隠しプロパティは特定のユースケースでのみ使用されます。 |
PseudoColumns | このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。 |
Timeout | タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。 |
UserDefinedViews | カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。 |
このセクションでは、本プロバイダーの接続文字列で設定可能なConnection プロパティの全リストを提供します。
プロパティ | 説明 |
ProjectId | The globally unique identifier (gid) associated with your Asana Project. |
WorkspaceId | The globally unique identifier (gid) associated with your Asana Workspace. |
IncludeCustomFields | Custom fields may be added to the Tasks, SubTasks, and PortfolioItems tables. |
The globally unique identifier (gid) associated with your Asana Project.
Requests will return the data mapped under this project.
The globally unique identifier (gid) associated with your Asana Workspace.
Requests will return the projects mapped under this WorkspaceId.
Custom fields may be added to the Tasks, SubTasks, and PortfolioItems tables.
If set to TRUE, custom fields may be added to the Tasks, SubTasks, and PortfolioItems tables. The WorkspaceId should also be specified. Custom fields are related to a specific Workspace. If no WorkspaceId is specified, the first available WorkspaceId will be used.
このセクションでは、本プロバイダーの接続文字列で設定可能なOAuth プロパティの全リストを提供します。
プロパティ | 説明 |
OAuthClientId | OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。 |
OAuthClientSecret | OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。 |
OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。
OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId 値、およびクライアントシークレットOAuthClientSecret が提供されます。
OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。
OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId が提供されます。また、コンシューマーシークレットと呼ばれるクライアントシークレットも提供されます。クライアントシークレットをOAuthClientSecret プロパティに設定します。
このセクションでは、本プロバイダーの接続文字列で設定可能なSSL プロパティの全リストを提供します。
プロパティ | 説明 |
SSLServerCert | TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。 |
TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。
TLS/SSL 接続を使用する場合は、このプロパティを使用して、サーバーが受け入れるTLS/SSL 証明書を指定できます。コンピュータによって信頼されていない他の証明書はすべて拒否されます。
このプロパティは、次のフォームを取ります:
説明 | 例 |
フルPEM 証明書(例では省略されています) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
証明書を保有するローカルファイルへのパス。 | C:\cert.cer |
公開鍵(例では省略されています) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
MD5 Thumbprint (hex 値はスペースおよびコロン区切り) | ecadbdda5a1529c58a1e9e09828d70e4 |
SHA1 Thumbprint (hex 値はスペースおよびコロン区切り) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
これを指定しない場合は、マシンが信用するすべての証明書が受け入れられます。
すべての証明書の受け入れを示すには、'*'を使用します。セキュリティ上の理由から、これはお勧めできません。
このセクションでは、本プロバイダーの接続文字列で設定可能なFirewall プロパティの全リストを提供します。
プロパティ | 説明 |
FirewallType | プロキシベースのファイアウォールで使われるプロトコル。 |
FirewallServer | プロキシベースのファイアウォールの名前もしくはIP アドレス。 |
FirewallPort | プロキシベースのファイアウォールのTCP ポート。 |
FirewallUser | プロキシベースのファイアウォールに認証するために使うユーザー名。 |
FirewallPassword | プロキシベースのファイアウォールへの認証に使われるパスワード。 |
プロキシベースのファイアウォールで使われるプロトコル。
このプロパティは、Sync App がFirewallServer プロキシ経由でトンネルトラフィックを使うためのプロトコルを指定します。デフォルトでは、Sync App はシステムプロキシに接続します。この動作を無効化し次のプロキシタイプのどれかで接続するには、ProxyAutoDetect をfalse に設定します。
タイプ | デフォルトポート | 説明 |
TUNNEL | 80 | これが設定されている場合、Sync App はAsana への接続を開き、プロキシを経由して通信が行われます。 |
SOCKS4 | 1080 | これが設定されている場合、Sync App はデータをFirewallServer およびFirewallPort で指定されたSOCS 4 プロキシ経由で送信し、接続リクエストが許容されるかどうかを決定します。 |
SOCKS5 | 1080 | これが設定されている場合、Sync App はデータをFirewallServer およびFirewallPort で指定されたSOCS 5 プロキシ経由で送信します。プロキシに認証が必要な場合には、FirewallUser およびFirewallPassword をプロキシが認識する認証情報に設定します。 |
HTTP プロキシへの接続には、ProxyServer およびProxyPort ポートを使ってください。HTTP プロキシへの認証には、ProxyAuthScheme、ProxyUser、およびProxyPassword を使ってください。
プロキシベースのファイアウォールの名前もしくはIP アドレス。
ファイアウォールトラバーサルを許容するために設定するIP アドレス、DNS 名、もしくはプロキシホスト名を指定するプロパティです。プロトコルはFirewallType で指定されます。このプロパティとFirewallServer を使って、SOCKS 経由での接続、もしくはトンネリングが可能です。HTTP プロキシへの接続には、ProxyServer を使用します。
Sync App はデフォルトでシステムプロキシを使うので注意してください。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定してください。
プロキシベースのファイアウォールのTCP ポート。
ファイアウォールトラバーサルを許容するために設定するプロキシベースのファイアウォールのTCP ポート。名前もしくはIP アドレスを指定するには、FirewallServer を使います。FirewallType でプロトコルを指定します。
プロキシベースのファイアウォールに認証するために使うユーザー名。
FirewallUser およびFirewallPassword プロパティは、FirewallType により指定された認証方式に則り、FirewallServer、およびFirewallPort で指定されたプロキシに対しての認証に使われます。
プロキシベースのファイアウォールへの認証に使われるパスワード。
このプロパティは、FirewallType により指定された認証メソッドに則り、FirewallServer およびFirewallPort で指定されたプロキシに渡されます。
このセクションでは、本プロバイダーの接続文字列で設定可能なProxy プロパティの全リストを提供します。
プロパティ | 説明 |
ProxyAutoDetect | これは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。 |
ProxyServer | HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。 |
ProxyPort | ProxyServer プロキシが起動しているTCP ポート。 |
ProxyAuthScheme | ProxyServer プロキシへの認証で使われる認証タイプ。 |
ProxyUser | ProxyServer プロキシへの認証に使われるユーザー名。 |
ProxyPassword | ProxyServer プロキシへの認証に使われるパスワード。 |
ProxySSLType | ProxyServer プロキシへの接続時に使用するSSL タイプ。 |
ProxyExceptions | ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。 |
これは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。
これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。
HTTP プロキシへの接続には、ProxyServer を参照してください。SOCKS やトンネリングなどの他のプロキシには、FirewallType を参照してください。
HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。
HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。HTTP プロキシへの認証には、Sync App はHTTP、Windows(NTLM)、もしくはKerberos 認証タイプを使用することができます。
SOCKS プロキシを経由して接続する、もしくは接続をトンネルするには、FirewallType を参照してください。
デフォルトで、Sync App はsystem プロキシを使います。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定します。
ProxyServer プロキシが起動しているTCP ポート。
HTTP トラフィックをリダイレクトするHTTP プロキシが実行されているポート。ProxyServer でHTTP プロキシを指定します。その他のプロキシタイプについては、FirewallType を参照してください。
ProxyServer プロキシへの認証で使われる認証タイプ。
この値は、ProxyServer およびProxyPort で指定されるHTTP プロキシに認証するために使われる認証タイプを指定します。
Sync App は、デフォルトでsystem proxy settings を使い、追加での設定が不要です。他のプロキシへの接続をする場合には、ProxyServer およびProxyPort に加え、ProxyAutoDetect をfalse に設定します。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。
認証タイプは、次のどれかになります。
SOCKS 5 認証のような他の認証タイプを使用するには、FirewallType を参照してください。
ProxyServer プロキシへの認証に使われるユーザー名。
ProxyUser および ProxyPassword オプションは、ProxyServer で指定されたHTTP プロキシに対して接続および認証するために使用されます。
ProxyAuthScheme で使用可能な認証タイプを選択することができます。HTTP 認証を使う場合、これをHTTP プロキシで識別可能なユーザーのユーザー名に設定します。Windows もしくはKerberos 認証を使用する場合、このプロパティを次の形式のどれかでユーザー名に設定します。
user@domain domain\user
ProxyServer プロキシへの認証に使われるパスワード。
このプロパティは、NTLM(Windows)、Kerberos、もしくはHTTP 認証をサポートするHTTP プロキシサーバーに認証するために使われます。HTTP プロキシを指定するためには、ProxyServer およびProxyPort を設定します。認証タイプを指定するためにはProxyAuthScheme を設定します。
HTTP 認証を使う場合、さらにHTTP プロキシにProxyUser およびProxyPassword を設定します。
NTLM 認証を使う場合、Windows パスワードにProxyUser およびProxyPassword を設定します。Kerberos 認証には、これらを入力する必要があります。
SOCKS 5 認証もしくは、トンネリングは、FirewallType を参照してください。
デフォルトで、Sync App はsystem プロキシを使います。他のプロキシに接続する場合には、これをfalse に設定します。
ProxyServer プロキシへの接続時に使用するSSL タイプ。
このプロパティは、ProxyServer で指定されたHTTP プロキシへの接続にSSL を使用するかどうかを決定します。この値は、AUTO、ALWAYS、NEVER、TUNNEL のいずれかです。有効な値は次のとおりです。
AUTO | デフォルト設定。URL がHTTPS URL の場合、Sync App は、TUNNEL オプションを使います。URL がHTTP URL の場合、コンポーネントはNEVER オプションを使います。 |
ALWAYS | 接続は、常にSSL 有効となります。 |
NEVER | 接続は、SSL 有効になりません。 |
TUNNEL | 接続は、トンネリングプロキシを経由します。プロキシサーバーがリモートホストへの接続を開き、プロキシを経由して通信が行われます。 |
ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。
ProxyServer は、このプロパティで定義されたアドレスを除くすべてのアドレスに使用されます。セミコロンを使用してエントリを区切ります。
Sync App は、追加設定なしにデフォルトでシステムのプロキシ設定を使います。この接続のプロキシ例外を明示的に構成するには、ProxyAutoDetect をfalse に設定して、ProxyServer およびProxyPort を設定する必要があります。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。
ログファイルに含めるコアモジュール。
指定された(';' で区切られた)モジュールのみがログファイルに含まれます。デフォルトではすべてのモジュールが含まれます。
概要はログ ページを参照してください。
このセクションでは、本プロバイダーの接続文字列で設定可能なSchema プロパティの全リストを提供します。
プロパティ | 説明 |
Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。 |
BrowsableSchemas | このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
Tables | このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。 |
Views | 使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。 |
テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。
Sync App のスキーマファイル(テーブルとビューの場合は.rsd ファイル、ストアドプロシージャの場合は.rsb ファイル)を含むディレクトリへのパス。このフォルダの場所は、実行ファイルの場所からの相対パスにすることができます。Location プロパティは、定義をカスタマイズしたり(例えば、カラム名を変更する、カラムを無視するなど)、新しいテーブル、ビュー、またはストアドプロシージャでデータモデルを拡張する場合にのみ必要です。
指定しない場合、デフォルトの場所は"%APPDATA%\\CData\\Asana Data Provider\\Schema" となり、%APPDATA% はユーザーのコンフィギュレーションディレクトリに設定されます:
このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
スキーマをデータベースからリストすると、負荷がかかる可能性があります。接続文字列でスキーマのリストを提供すると、 パフォーマンスが向上します。
このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。
テーブルを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でテーブルのリストを提供すると、Sync App のパフォーマンスが向上します。
このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。
カンマ区切りのリストで使用したいテーブルを指定します。各テーブルは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space` です。
複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。
使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。
ビューを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でビューのリストを提供すると、Sync App のパフォーマンスが向上します。
このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。
カンマ区切りのリストで使用したいビューを指定します。各ビューは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space` です。
複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。
このセクションでは、本プロバイダーの接続文字列で設定可能なMiscellaneous プロパティの全リストを提供します。
プロパティ | 説明 |
MaxRows | クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。 |
Other | これらの隠しプロパティは特定のユースケースでのみ使用されます。 |
PseudoColumns | このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。 |
Timeout | タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。 |
UserDefinedViews | カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。 |
クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。
クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。
これらの隠しプロパティは特定のユースケースでのみ使用されます。
以下にリストされているプロパティは、特定のユースケースで使用可能です。通常のドライバーのユースケースおよび機能では、これらのプロパティは必要ありません。
複数のプロパティをセミコロン区切りリストで指定します。
DefaultColumnSize | データソースがメタデータにカラムの長さを提供しない場合に、文字列フィールドのデフォルトの長さを設定します。デフォルト値は2000です。 |
ConvertDateTimeToGMT | 日時の値を、マシンのローカルタイムではなくGMT グリニッジ標準時に変換するかどうかを決定します。 |
RecordToFile=filename | 基底のソケットデータ転送を指定のファイルに記録します。 |
このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。
Entity Framework ではテーブルカラムでない疑似カラムに値を設定できないため、この設定はEntity Framework で特に便利です。この接続設定の値は、"Table1=Column1, Table1=Column2, Table2=Column3" の形式です。"*=*" のように"*" 文字を使用して、すべてのテーブルとすべてのカラムを含めることができます。
タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。
Timeout が0に設定されている場合は、操作がタイムアウトしません。処理が正常に完了するか、エラー状態になるまで実行されます。
Timeout の有効期限が切れても処理が完了していない場合は、Sync App は例外をスローします。
カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。
ユーザー定義ビューは、UserDefinedViews.json というJSON 形式のコンフィギュレーションファイルで定義されています。Sync App は、このファイルで指定されたビューを自動的に検出します。
また、複数のビュー定義を持ち、UserDefinedViews 接続プロパティを使用して制御することも可能です。このプロパティを使用すると、指定されたビューのみがSync App によって検知されます。
このユーザー定義ビューのコンフィギュレーションファイルは、次のようにフォーマットされています。
次に例を示します。
{ "MyView": { "query": "SELECT * FROM projects WHERE MyColumn = 'value'" }, "MyView2": { "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)" } }UserDefinedViews 接続プロパティを使用して、JSON コンフィギュレーションファイルの場所を指定します。次に例を示します。
"UserDefinedViews", "C:\\Users\\yourusername\\Desktop\\tmp\\UserDefinedViews.json"