Skip to content

Commit e368375

Browse files
zhaodongwang-msftMax Wang
andauthored
use correct azure credential type: CertificateCredential (#90)
Co-authored-by: Max Wang <zhaodongwang@microsoft.com>
1 parent 09ff1fe commit e368375

3 files changed

Lines changed: 9 additions & 9 deletions

File tree

.claude/skills/dataverse-sdk/SKILL.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ The SDK supports Dataverse's native bulk operations: Pass lists to `create()`, `
3131
from azure.identity import (
3232
InteractiveBrowserCredential,
3333
ClientSecretCredential,
34-
ClientCertificateCredential,
34+
CertificateCredential,
3535
AzureCliCredential
3636
)
3737
from PowerPlatform.Dataverse.client import DataverseClient
@@ -45,7 +45,7 @@ credential = AzureCliCredential()
4545

4646
# Production options
4747
credential = ClientSecretCredential(tenant_id, client_id, client_secret)
48-
credential = ClientCertificateCredential(tenant_id, client_id, cert_path)
48+
credential = CertificateCredential(tenant_id, client_id, cert_path)
4949

5050
# Create client (no trailing slash on URL!)
5151
client = DataverseClient("https://yourorg.crm.dynamics.com", credential)
@@ -256,7 +256,7 @@ except ValidationError as e:
256256
2. **Specify select fields** - Limit returned columns to reduce payload size
257257
3. **Control page size** - Use `top` and `page_size` parameters appropriately
258258
4. **Reuse client instances** - Don't create new clients for each operation
259-
5. **Use production credentials** - ClientSecretCredential or ClientCertificateCredential for unattended operations
259+
5. **Use production credentials** - ClientSecretCredential or CertificateCredential for unattended operations
260260
6. **Error handling** - Implement retry logic for transient errors (`e.is_transient`)
261261
7. **Always include customization prefix** for custom tables/columns
262262
8. **Use lowercase** - Generally using lowercase input won't go wrong, except for custom table/column naming

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ The client requires any Azure Identity `TokenCredential` implementation for OAut
8787
from azure.identity import (
8888
InteractiveBrowserCredential,
8989
ClientSecretCredential,
90-
ClientCertificateCredential,
90+
CertificateCredential,
9191
AzureCliCredential
9292
)
9393
from PowerPlatform.Dataverse.client import DataverseClient
@@ -98,7 +98,7 @@ credential = InteractiveBrowserCredential() # Browser authentication
9898

9999
# Production options
100100
# credential = ClientSecretCredential(tenant_id, client_id, client_secret)
101-
# credential = ClientCertificateCredential(tenant_id, client_id, cert_path)
101+
# credential = CertificateCredential(tenant_id, client_id, cert_path)
102102

103103
client = DataverseClient("https://yourorg.crm.dynamics.com", credential)
104104
```
@@ -341,7 +341,7 @@ For optimal performance in production environments:
341341
| **Select Fields** | Specify `select` parameter to limit returned columns and reduce payload size |
342342
| **Page Size Control** | Use `top` and `page_size` parameters to control memory usage |
343343
| **Connection Reuse** | Reuse `DataverseClient` instances across operations |
344-
| **Production Credentials** | Use `ClientSecretCredential` or `ClientCertificateCredential` for unattended operations |
344+
| **Production Credentials** | Use `ClientSecretCredential` or `CertificateCredential` for unattended operations |
345345
| **Error Handling** | Implement retry logic for transient errors (`e.is_transient`) |
346346

347347
### Limitations

src/PowerPlatform/Dataverse/claude_skill/SKILL.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ The SDK supports Dataverse's native bulk operations: Pass lists to `create()`, `
3131
from azure.identity import (
3232
InteractiveBrowserCredential,
3333
ClientSecretCredential,
34-
ClientCertificateCredential,
34+
CertificateCredential,
3535
AzureCliCredential
3636
)
3737
from PowerPlatform.Dataverse.client import DataverseClient
@@ -45,7 +45,7 @@ credential = AzureCliCredential()
4545

4646
# Production options
4747
credential = ClientSecretCredential(tenant_id, client_id, client_secret)
48-
credential = ClientCertificateCredential(tenant_id, client_id, cert_path)
48+
credential = CertificateCredential(tenant_id, client_id, cert_path)
4949

5050
# Create client (no trailing slash on URL!)
5151
client = DataverseClient("https://yourorg.crm.dynamics.com", credential)
@@ -256,7 +256,7 @@ except ValidationError as e:
256256
2. **Specify select fields** - Limit returned columns to reduce payload size
257257
3. **Control page size** - Use `top` and `page_size` parameters appropriately
258258
4. **Reuse client instances** - Don't create new clients for each operation
259-
5. **Use production credentials** - ClientSecretCredential or ClientCertificateCredential for unattended operations
259+
5. **Use production credentials** - ClientSecretCredential or CertificateCredential for unattended operations
260260
6. **Error handling** - Implement retry logic for transient errors (`e.is_transient`)
261261
7. **Always include customization prefix** for custom tables/columns
262262
8. **Use lowercase** - Generally using lowercase input won't go wrong, except for custom table/column naming

0 commit comments

Comments
 (0)