Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The Azure.ResourceManager.PlanetaryComputer
SDK is the .NET Management Plane SDK for working with GeoCatalog
resources under the PlanetaryComputer service.
It supports full CRUD operations, as well as recorded and playback testing using the Azure SDK's standard test framework.
Project Structure
sdk/
└── planetarycomputer/
└── Azure.ResourceManager.PlanetaryComputer/
├── src/ # Generated SDK source code
├── tests/
│ ├── Scenario/
│ │ └── GeoCatalogCollectionTests.cs # Main scenario tests
│ ├── PlanetaryComputerManagementTestBase.cs # Base test infrastructure
│ └── PlanetaryComputerManagementTestEnvironment.cs
├── Azure.ResourceManager.PlanetaryComputer.csproj
├── Azure.ResourceManager.PlanetaryComputer.Tests.csproj
└── assets.json # Required for test recording/playback
Getting started
Install the Package
Install the package via NuGet:
dotnet add package Azure.ResourceManager.PlanetaryComputer --prerelease
Prerequisites
- .NET SDK 8.0+
- Azure SDK Test Proxy
dotnet tool install --global Azure.Sdk.Tools.TestProxy
- Logged in to Azure CLI:
az login
- Set the following environment variables for test execution:
$env:AZURE_SUBSCRIPTION_ID = "<your-subscription-id>"
$env:AZURE_TEST_MODE = "Record" # or "Playback"
$env:AZURE_AUTHORITY_HOST = "https://login.microsoftonline.com"
Authenticate the Client
To authenticate the client, use the DefaultAzureCredential
from the Azure.Identity library. Ensure your environment is set up with the necessary Azure credentials.
using Azure.Identity;
using Azure.ResourceManager.PlanetaryComputer;
var credential = new DefaultAzureCredential();
var client = new PlanetaryComputerManagementClient(credential);
Supported Tests
Test Name | Description |
---|---|
CreateGeoCatalog |
Creates a GeoCatalog |
UpdateGeoCatalog |
Updates an existing GeoCatalog |
DeleteGeoCatalog |
Deletes a GeoCatalog |
GetGeoCatalog |
Retrieves a specific GeoCatalog |
ListGeoCatalogsInResourceGroup |
Lists GeoCatalogs in a resource group |
ListGeoCatalogsBySubscription |
Lists GeoCatalogs under a subscription |
CreateUpdateDeleteGeoCatalog |
Full CRUD scenario combined |
Running Tests
Record Mode (Live with Azure)
- Start the test proxy:
test-proxy
- Set mode:
$env:AZURE_TEST_MODE = "Record"
- Run a specific test:
dotnet test -f net8.0 --filter "Name=CreateUpdateDeleteGeoCatalog"
- Recordings are saved to:
.azure-sdk-for-net/.assets/<hash>/net/sdk/PlanetaryComputer/Azure.ResourceManager.PlanetaryComputer/tests/SessionRecords
Playback Mode (Offline Testing)
- Set mode:
$env:AZURE_TEST_MODE = "Playback"
- (Optional) Restore recordings:
test-proxy restore -a ./assets.json
- Run test:
dotnet test -f net8.0 --filter "Name=CreateUpdateDeleteGeoCatalog"
Key concepts
The PlanetaryComputer SDK provides management capabilities for GeoCatalog resources. Key concepts include:
- GeoCatalog: Represents a catalog of geospatial data.
- CRUD Operations: Create, Read, Update, and Delete operations for GeoCatalog resources.
- Authentication: Uses Azure Active Directory for secure access.
Examples
Create a GeoCatalog
var geoCatalogData = new GeoCatalogData(new AzureLocation("uksouth"))
{
Properties = new GeoCatalogProperties
{
Tier = CatalogTier.Basic
}
};
var geoCatalog = await client.GeoCatalogs.CreateOrUpdateAsync("resourceGroupName", "geoCatalogName", geoCatalogData);
List GeoCatalogs
var geoCatalogs = await client.GeoCatalogs.ListAsync("resourceGroupName");
foreach (var catalog in geoCatalogs)
{
Console.WriteLine(catalog.Name);
}
Troubleshooting
If you encounter issues, check the following:
- Ensure Azure CLI is logged in (
az login
). - Verify the subscription and resource group names.
- Check for network connectivity issues.
Next steps
Explore additional features of the PlanetaryComputer SDK:
Contributing
We welcome contributions! Please see our Contributing Guide for details on how to get started.
Azure SDK for .NET