获取一个 Game Servers 的发布详情。
深入探索
如需查看包含此代码示例的详细文档,请参阅以下内容:
代码示例
C#
如需了解如何安装和使用 Game Servers 客户端库,请参阅 Game Servers 客户端库。
using Google.Cloud.Gaming.V1;
public class GetRolloutSample
{
public GameServerDeploymentRollout GetRollout(
string projectId, string deploymentId)
{
// Create the client.
GameServerDeploymentsServiceClient client = GameServerDeploymentsServiceClient.Create();
GetGameServerDeploymentRolloutRequest request = new GetGameServerDeploymentRolloutRequest
{
GameServerDeploymentName = GameServerDeploymentName.FromProjectLocationDeployment(projectId, "global", deploymentId)
};
// Make the request.
GameServerDeploymentRollout response = client.GetGameServerDeploymentRollout(request);
return response;
}
}
Go
如需了解如何安装和使用 Game Servers 客户端库,请参阅 Game Servers 客户端库。
import (
"context"
"fmt"
"io"
gaming "cloud.google.com/go/gaming/apiv1"
gamingpb "google.golang.org/genproto/googleapis/cloud/gaming/v1"
)
// getGameServerDeploymentRollout retrieves info on a game server deployment's rollout.
func getGameServerDeploymentRollout(w io.Writer, projectID, deploymentID string) error {
// projectID := "my-project"
// deploymentID := "mydeployment"
ctx := context.Background()
client, err := gaming.NewGameServerDeploymentsClient(ctx)
if err != nil {
return fmt.Errorf("NewGameServerDeploymentsClient: %v", err)
}
defer client.Close()
req := &gamingpb.GetGameServerDeploymentRolloutRequest{
Name: fmt.Sprintf("projects/%s/locations/global/gameServerDeployments/%s", projectID, deploymentID),
}
resp, err := client.GetGameServerDeploymentRollout(ctx, req)
if err != nil {
return fmt.Errorf("GetGameServerDeploymentRollout: %v", err)
}
fmt.Fprintf(w, "Rollout default: %v\n", resp.DefaultGameServerConfig)
for _, override := range resp.GameServerConfigOverrides {
switch override.Selector.(type) {
case *gamingpb.GameServerConfigOverride_RealmsSelector:
fmt.Fprint(w, "Override these realms ", override.GetRealmsSelector().Realms)
default:
fmt.Fprint(w, "Unknown override selector")
}
switch override.Change.(type) {
case *gamingpb.GameServerConfigOverride_ConfigVersion:
fmt.Fprint(w, "with this config: ", override.GetConfigVersion())
default:
fmt.Fprint(w, "with an unknown override")
}
fmt.Fprintln(w)
}
return nil
}
Node.js
如需了解如何安装和使用 Game Servers 客户端库,请参阅 Game Servers 客户端库。
const {
GameServerDeploymentsServiceClient,
} = require('@google-cloud/game-servers');
const client = new GameServerDeploymentsServiceClient();
async function getGameServerDeploymentRollout() {
/**
* TODO(developer): Uncomment these variables before running the sample.
*/
// const projectId = 'Your Google Cloud Project ID';
// const deploymentId = 'A unique ID for the Game Server Deployment';
const request = {
// The full resource name
name: client.gameServerDeploymentPath(projectId, 'global', deploymentId),
};
const [rollout] = await client.getGameServerDeploymentRollout(request);
console.log(`Rollout name: ${rollout.name}`);
console.log(`Rollout default: ${rollout.defaultGameServerConfig}`);
for (const override of rollout.gameServerConfigOverrides) {
console.log(`Rollout config overrides: ${override.configVersion}`);
console.log(
`Rollout realm overrides: ${JSON.stringify(override.realmsSelector)}`
);
}
const updateTime = rollout.updateTime;
const updateDate = new Date(updateTime.seconds * 1000);
console.log(`Rollout updated on: ${updateDate.toLocaleDateString()}\n`);
}
getGameServerDeploymentRollout();
Python
如需了解如何安装和使用 Game Servers 客户端库,请参阅 Game Servers 客户端库。
def get_rollout(project_id, deployment_id):
"""Gets the rollout of a game server deployment."""
client = gaming.GameServerDeploymentsServiceClient()
# Location is hard coded as global, as game server deployments can
# only be created in global. This is done for all operations on
# game server deployments, as well as for its child resource types.
request = game_server_deployments.GetGameServerDeploymentRolloutRequest(
name=f"projects/{project_id}/locations/global/gameServerDeployments/{deployment_id}",
)
response = client.get_game_server_deployment_rollout(request)
print(f"Get deployment response:\n{response}")
return response
后续步骤
如需搜索并过滤其他 Google Cloud 产品的代码示例,请参阅 Google Cloud 示例浏览器。